Merge branch 'master' of https://sinanoaq.cn:8888/r/ztqt
| | |
| | | { |
| | | id: 124, |
| | | parentId: 0, |
| | | path: '/accidentHidden', |
| | | path: '/sgyhpczl', |
| | | component: Layout, |
| | | name: '事故隐患排查治理', |
| | | meta: { title: '事故隐患排查治理', icon: 'el-icon-facilities' }, |
| | |
| | | <el-dialog :title="title" :visible.sync="analyseUnitVisible" :modal-append-to-body="false" :close-on-click-modal="false" width="600px"> |
| | | <el-form ref="analyseUnitForm" :rules="analyseUnitFormRules" :model="analyseUnitForm" label-position="right" label-width="165px"> |
| | | <el-form-item label="责任部门" prop="hazardDep"> |
| | | <el-select v-model="analyseUnitForm.hazardDep" class="analyseUnit_input"> |
| | | <el-select v-model="analyseUnitForm.hazardDep" value-key="item" class="analyseUnit_input" @change="departmentChange" @clear="departmentClear"> |
| | | <el-option |
| | | v-for="item in departmentList" |
| | | :key="item.id" |
| | | :value="item.department" |
| | | :value="item" |
| | | :label="item.department" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="责任人" prop="hazardLiablePerson"> |
| | | <el-select v-model="analyseUnitForm.hazardLiablePerson" class="analyseUnit_input"> |
| | | <el-select v-model="analyseUnitForm.hazardLiablePerson" value-key="item" class="analyseUnit_input"@change="personChange" @clear="personClear" > |
| | | <el-option |
| | | v-for="item in userList" |
| | | :key="item.id" |
| | | :label="item.realname" |
| | | :value="item.realname" |
| | | :value="item" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | }) |
| | | }) |
| | | }, |
| | | personChange(val){ |
| | | this.analyseUnitForm.hazardLiablePerson = val.realname |
| | | this.analyseUnitForm.hazardLiablePersonId = val.id |
| | | }, |
| | | departmentChange(val){ |
| | | this.analyseUnitForm.hazardDep = val.department |
| | | this.analyseUnitForm.hazardDepId = val.id |
| | | }, |
| | | personClear(){ |
| | | this.analyseUnitForm.hazardLiablePerson = null |
| | | this.analyseUnitForm.hazardLiablePersonId = null |
| | | }, |
| | | departmentClear(){ |
| | | this.analyseUnitForm.hazardDep = null |
| | | this.analyseUnitForm.hazardDepId = null |
| | | }, |
| | | refreshHandle(){ |
| | | this.getAnalyseUnitData() |
| | | }, |
| | |
| | | </el-table-column> |
| | | <el-table-column label="得分" prop="point" align="center"> |
| | | </el-table-column> |
| | | <el-table-column label="权重" prop="weight" align="center"> |
| | | </el-table-column> |
| | | <el-table-column prop="remark" label="备注" align="center"> |
| | | </el-table-column> |
| | | <el-table-column prop="createTime" label="创建时间" align="center"> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row v-if="form.type==0?false:true"> |
| | | <el-row v-if="form.type==0 && form.type!=null"> |
| | | <el-col :span="11" > |
| | | <el-form-item label="权重" prop="weight"> |
| | | <el-input v-model="form.weight"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row v-if="form.type==1 && form.type!=null"> |
| | | <el-col :span="11"> |
| | | <el-form-item label="父要素" prop="parentId"> |
| | | <el-select |
| | |
| | | title: "", |
| | | form: { |
| | | name: "", |
| | | type: "", |
| | | parentId: "", |
| | | point:"", |
| | | remark: "", |
| | |
| | | point: [ |
| | | { required: true, message: "得分不能为空", trigger: "change" }, |
| | | ], |
| | | weight: [ |
| | | { required: true, message: "权重不能为空", trigger: "change" }, |
| | | ], |
| | | }, |
| | | }; |
| | | }, |
| | |
| | | this.title = "新增"; |
| | | this.form = { |
| | | name: "", |
| | | type: "", |
| | | parentId: "", |
| | | remark: "", |
| | | }; |
| | |
| | | class="btn" |
| | | v-if="typeId == 2 ? false : true" |
| | | @click="finish()" |
| | | >结单</el-button |
| | | > |
| | | >结单</el-button> |
| | | <div class="point"> |
| | | 所有A级要素总分= {{remark}} |
| | | </div> |
| | | |
| | | <div |
| | | v-for="(item, index) in lists" |
| | | :key="index" |
| | |
| | | lists: [], |
| | | listType: [], |
| | | typeId: "", |
| | | remark:"", |
| | | }; |
| | | }, |
| | | created() { |
| | |
| | | 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].elementAWeight = arr[i].child[0].elementAWeight; |
| | | arr[i].child.points = arr[i].child.point; |
| | | } |
| | | this.lists = arr; |
| | | let showDetail = '' |
| | | for (let i = 0 ; i < arr.length ; i++){ |
| | | if (i < arr.length - 1 ){ |
| | | showDetail+='('+arr[i].elementAName + ' * '+arr[i].elementAWeight+ ') + ' |
| | | } else{ |
| | | showDetail+='('+arr[i].elementAName + ' * '+arr[i].elementAWeight+ ')' |
| | | } |
| | | } |
| | | this.remark+=showDetail |
| | | if (this.typeId==2){ |
| | | let pointA = '' |
| | | let pointDetail = ' = ' |
| | | let finalPoint=0 |
| | | for (let i = 0 ; i < arr.length ; i++){ |
| | | let childData = arr[i].child |
| | | pointA = 0 |
| | | for (let j = 0 ; j < childData.length ; j++){ |
| | | //改A级要素的总分 |
| | | pointA += childData[j].point |
| | | } |
| | | finalPoint += pointA * arr[i].elementAWeight |
| | | if (i < arr.length - 1 ){ |
| | | pointDetail +='('+pointA + ' * '+arr[i].elementAWeight+ ') + ' |
| | | } else{ |
| | | pointDetail +='('+pointA + ' * '+arr[i].elementAWeight+ ') = ' |
| | | } |
| | | } |
| | | pointDetail +=finalPoint |
| | | this.remark+=pointDetail |
| | | } |
| | | }); |
| | | }, |
| | | checkSameDataA(resData) { |
| | |
| | | if (!dataInfo[elementAName]) { |
| | | dataInfo[elementAName] = { |
| | | elementAName, |
| | | elementAWeight:'', |
| | | child: [], |
| | | }; |
| | | } |
| | |
| | | dataInfo[elementBName] = { |
| | | elementBName, |
| | | point: "", |
| | | elementAWeight:item.elementAWeight, |
| | | points: item.point, |
| | | child: [], |
| | | }; |
| | |
| | | height: 850px; |
| | | overflow-y: overlay; |
| | | } |
| | | .point { |
| | | background-color: rgba(3,78,162,0.1); |
| | | font-size: 20px; |
| | | padding: 10px 5px; |
| | | font-weight: bold; |
| | | } |
| | | .title { |
| | | font-size: 16px; |
| | | padding: 10px 0px; |