| | |
| | | <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-table border :data="item.child"> |
| | | <el-table-column |
| | | prop="date" |
| | | prop="standardizationRequirements" |
| | | align="center" |
| | | label="标准化要求" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | prop="enterpriseStandard" |
| | | align="center" |
| | | label="企业达标标准" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | prop="reviewMethod" |
| | | align="center" |
| | | label="评审方法" |
| | | ></el-table-column> |
| | | <el-table-column prop="name" align="center" label="评审标准"> |
| | | <el-table-column |
| | | prop="name" |
| | | align="center" |
| | | label="评审标准" |
| | | > |
| | | <el-table-column |
| | | prop="name" |
| | | prop="veto" |
| | | align="center" |
| | | label="否决项" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | align="center" |
| | | width="80px" |
| | | type="expand" |
| | | label="扣分项" |
| | | > |
| | | <el-table :data="item.child.deductionList"> |
| | | <el-table-column |
| | | prop="name" |
| | | align="center" |
| | | label="扣分项" |
| | | ></el-table-column> |
| | | > |
| | | </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"> |
| | |
| | | </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() { |
| | |
| | | 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; |
| | | }, |
| | |
| | | padding: 10px; |
| | | } |
| | | .box-right { |
| | | position: relative; |
| | | width: 79%; |
| | | background-color: white; |
| | | border-radius: 5px; |
| | |
| | | .titles{ |
| | | font-size: 14px; |
| | | } |
| | | .btns{ |
| | | position: absolute; |
| | | top: 10px; |
| | | right: 50px; |
| | | } |
| | | </style> |