| | |
| | | <Titlename title="检查项树"></Titlename> |
| | | <div class="box-left-content"> |
| | | <el-tree |
| | | ref="tree" |
| | | :data="tree" |
| | | node-key="id" |
| | | node-key="value" |
| | | @check="treeClick" |
| | | :expand-on-click-node="false" |
| | | :default-checked-keys="treeList" |
| | | show-checkbox |
| | | ></el-tree> |
| | | </div> |
| | | </div> |
| | | <div class="box-right" v-if="list == '' ? false : true"> |
| | | <el-button type="primary" @click="open()" class="btns">添加</el-button> |
| | | <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.nameA }}</span> |
| | | A级要素:<span>{{ item.elementAName }}</span> |
| | | </div> |
| | | <div v-for="(item, index) in item.child" :key="index"> |
| | | <el-row class="titles"> |
| | |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="22" :offset="1"> |
| | | <el-table border :data="item.child"> |
| | | <el-table ref="table" border :data="item.child"> |
| | | <el-table-column |
| | | prop="standardizationRequirements" |
| | | align="center" |
| | |
| | | <el-table-column |
| | | align="center" |
| | | width="80px" |
| | | type="expand" |
| | | label="扣分项" |
| | | type="expand" |
| | | > |
| | | <el-table :data="item.child.deductionList"> |
| | | <template slot-scope="scope"> |
| | | <el-table :data="scope.row.deductionList"> |
| | | <el-table-column |
| | | prop="name" |
| | | align="center" |
| | |
| | | > |
| | | </el-table-column> |
| | | </el-table> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="操作" width="200px"> |
| | |
| | | <el-input v-model="form.inspectionName"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="检查人名称"> |
| | | <el-select v-model="form.inspector" placeholder="请选择"> |
| | | <el-select v-model="form.inspector" style="width:100%" placeholder="请选择"> |
| | | <el-option |
| | | v-for="item in nameList" |
| | | :key="item.id" |
| | |
| | | </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-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-col> --> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <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> |
| | | <el-button type="primary" @click="addC">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | |
| | | safetyInspectionItemTreeB, |
| | | safetySelfInspectionAdd, |
| | | safetyInspectionItemName, |
| | | safetySelfInspectionInfo, |
| | | safetySelfInspectionMod, |
| | | } from "@/api/safetySelfInspection.js"; |
| | | export default { |
| | | components: { Titlename }, |
| | |
| | | nameList:[], |
| | | tree: [], |
| | | id: "", |
| | | nameA: "", |
| | | arr:[] |
| | | elementAName: "", |
| | | 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) |
| | | }, |
| | | methods: { |
| | | 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) |
| | | } |
| | | 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) |
| | | } |
| | | }); |
| | | }, |
| | | 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(this.id=="添加"){ |
| | | if (res.data.code == 200) { |
| | | this.list = res.data.result; |
| | | console.log(this.list) |
| | | var capA={nameA:'',id:[],child:[]} |
| | | var capA={elementAName:'',id:[],child:[]} |
| | | var atte=[] |
| | | capA.nameA = this.list[0].elementAName; |
| | | 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 |
| | |
| | | } |
| | | capA.id=atte |
| | | capA.child= this.checkSameData(this.list); |
| | | if(this.lists.findIndex(item=>item.nameA===capA.nameA)==-1){ |
| | | if(this.lists.findIndex(item=>item.elementAName===capA.elementAName)==-1){ |
| | | this.lists.push(capA) |
| | | |
| | | }else{ |
| | | var i=this.lists.findIndex(item=>item.nameA===capA.nameA) |
| | | var i=this.lists.findIndex(item=>item.elementAName===capA.elementAName) |
| | | this.lists.splice(i,1) |
| | | } |
| | | } |
| | | console.log(this.lists) |
| | | }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) |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | checkSameDataA(resData) { |
| | | let dataInfo = {}; |
| | | resData.forEach((item, index) => { |
| | | let { elementAName } = item; |
| | | if (!dataInfo[elementAName]) { |
| | | dataInfo[elementAName] = { |
| | | elementAName, |
| | | id:{}, |
| | | child: [], |
| | | }; |
| | | } |
| | | dataInfo[elementAName].child.push(item); |
| | | }); |
| | | let list = Object.values(dataInfo); // list 转换成功的数据 |
| | | return list; |
| | | }, |
| | | checkSameData(resData) { |
| | | let dataInfo = {}; |
| | |
| | | }, |
| | | }); |
| | | }, |
| | | open(){ |
| | | open(type){ |
| | | this.dialogVisible = true |
| | | this.form.status=type |
| | | var arr=[] |
| | | for(var i=0;i<this.lists.length;i++){ |
| | | this.lists[i].id |
| | |
| | | } |
| | | } |
| | | this.form.itemList=arr |
| | | this.dialogVisible = true |
| | | safetyInspectionItemName().then(res=>{ |
| | | // console.log(res) |
| | | if(res.data.code==200){ |
| | | 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 |
| | |
| | | } |
| | | |
| | | }) |
| | | }else if(this.id=='编辑'){ |
| | | safetySelfInspectionMod(this.form).then(res=>{ |
| | | this.dialogVisible=false |
| | | this.$notify({ |
| | | type: "success", |
| | | duration: 2000, |
| | | message: "编辑成功", |
| | | title: "成功", |
| | | }); |
| | | }) |
| | | } |
| | | }, |
| | | btnsQX() { |
| | | this.show = true; |
| | |
| | | border-radius: 5px; |
| | | } |
| | | .box-left-content { |
| | | padding: 10px; |
| | | padding:10px 20px; |
| | | } |
| | | .box-right { |
| | | position: relative; |
| | |
| | | top: 10px; |
| | | right: 50px; |
| | | } |
| | | .box-left-content /deep/ .el-tree-node__expand-icon{ |
| | | display: none; |
| | | } |
| | | .btn { |
| | | background-color: #034ea2; |
| | | border: 1px solid #034ea2; |
| | | } |
| | | </style> |