| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <div style="margin: 15px"> |
| | | <div class="basic_search"> |
| | | <span>整改类型:</span> |
| | | <el-select class="analyseUnit_box" v-model="filter.rectifyType" placeholder="整改类型" filterable> |
| | | <el-option v-for="item in rectifyTypeList" :key="item.id" :label="item.name" :value="item.id"></el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="basic_search"> |
| | | <span>整改部门:</span> |
| | | <el-select v-model="filter.rectifyDepId" clearable filterable class="analyseUnit_box"> |
| | | <el-option |
| | | v-for="item in departmentList" |
| | | :key="item.id" |
| | | :label="item.department" |
| | | :value="item.id" |
| | | ></el-option> |
| | | </el-select> </div> |
| | | |
| | | <span class="span-filter-label">单号</span> |
| | | <el-input style="width: 140px" v-model="filter.filter.code" ></el-input> |
| | | |
| | | <span class="span-filter-label">状态</span> |
| | | <el-select |
| | | v-model="filter.filter.status" |
| | | class="filter-item" |
| | | clearable |
| | | @clear="clearStatus" |
| | | style="width:150px;margin-bottom: 10px"> |
| | | <el-option |
| | | v-for="item in reportStatus" |
| | | :key="item.key" |
| | | :label="item.value" |
| | | :value="item.key"> |
| | | </el-option> |
| | | </el-select> |
| | | |
| | | <span class="span-filter-label">隐患等级</span> |
| | | <el-select v-model="filter.filter.level" clearable @clear="clearLevel" placeholder="请选择"> |
| | | <el-option |
| | | v-for="item in levels" |
| | | :key="item.key" |
| | | :label="item.value" |
| | | :value="item.key"> |
| | | </el-option> |
| | | </el-select> |
| | | |
| | | <span class="span-filter-label">上报人</span> |
| | | <el-input style="width: 160px" v-model="filter.filter.requestorName"></el-input> |
| | | |
| | | <span class="span-filter-label">隐患来源</span> |
| | | <el-select v-model="filter.filter.source" clearable placeholder="请选择"> |
| | | <el-option |
| | | v-for="item in sources" |
| | | :key="item.key" |
| | | :label="item.value" |
| | | :value="item.key"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-button class="filter-item" style="margin-left: 10px;" type="primary" icon="el-icon-search" |
| | | @click="queryHandle"/> |
| | | @click="queryHandle">搜索</el-button> |
| | | </div> |
| | | <div class="table_content"> |
| | | <el-table |
| | |
| | | highlight-current-row |
| | | style="width: 100%;" |
| | | > |
| | | <el-table-column type="index" label="序号" align="center" width="80"/> |
| | | <el-table-column label="单号" prop="code" align="center" /> |
| | | <el-table-column label="状态" prop="status" align="center" > |
| | | <el-table-column type="index" label="序号" width="60" /> |
| | | <el-table-column prop="rectifyDesc" label="整改内容说明" show-overflow-tooltip min-width="150px"></el-table-column> |
| | | <el-table-column prop="rectifyTime" label="整改期限" show-overflow-tooltip min-width="200px"> |
| | | <template slot-scope="scope"> |
| | | <span >{{scope.row.status}}</span> |
| | | <span v-if="new Date(scope.row.rectifydeadline) < new Date() && scope.row.status !== '已完成'" class="overdue-img">逾期</span> |
| | | <span>{{ scope.row.rectifyTime }}</span> |
| | | <span v-if="scope.row.dangerStatus === 2" class="overdue-img">逾期</span> |
| | | <span v-if="scope.row.dangerStatus === 9" class="overdue-img">逾期</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="隐患等级" prop="level" align="center" > |
| | | <el-table-column prop="rectifyType" label=" 整改类型" show-overflow-tooltip min-width="150px"> |
| | | <template slot-scope="scope"> |
| | | <el-tag :type="scope.row.level == '重大隐患'?'danger':'warning'">{{scope.row.level}}</el-tag> |
| | | {{ parseNumber(scope.row.rectifyType, '整改类型') }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="隐患来源" prop="source" align="center" > |
| | | <el-table-column prop="liablePerson" label="整改责任人" show-overflow-tooltip min-width="150px"></el-table-column> |
| | | <el-table-column prop="cost" label="整改资金" show-overflow-tooltip min-width="150px"></el-table-column> |
| | | <el-table-column prop="dangerStatus" label="隐患整改状态" show-overflow-tooltip min-width="150px" align="center"> |
| | | <template slot-scope="scope"> |
| | | <span>{{sources.find(item=>item.key === scope.row.source).value}}</span> |
| | | <el-tag :type="scope.row.dangerStatus === 0 ? 'info' : scope.row.dangerStatus === 1 ? 'primary' : scope.row.dangerStatus === 2 ? 'warning' : scope.row.dangerStatus === 4 ? 'danger' : 'success'"> |
| | | {{ parseNumber(scope.row.dangerStatus, '隐患整改状态') }} |
| | | </el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="上报人" prop="requestor" align="center" /> |
| | | <el-table-column label="整改人" prop="rectifier" align="center" /> |
| | | <el-table-column label="整改期限" prop="rectifydeadline" align="center" > |
| | | <el-table-column prop="createByUserName" label="创建人" show-overflow-tooltip min-width="150px"></el-table-column> |
| | | <el-table-column prop="gmtCreate" label="创建时间" show-overflow-tooltip min-width="200px"></el-table-column> |
| | | <el-table-column prop="lastEditUserName" label="最后修改人" show-overflow-tooltip min-width="150px"></el-table-column> |
| | | <el-table-column prop="gmtModitify" label="最后修改时间" show-overflow-tooltip min-width="200px"></el-table-column> |
| | | <el-table-column label="操作" align="center" width="240" class-name="small-padding fixed-width" fixed="right"> |
| | | <template slot-scope="scope"> |
| | | <span v-bind:class="{'overdue':new Date(scope.row.rectifydeadline) < new Date() && scope.row.status !== '已完成'}">{{scope.row.rectifydeadline}} |
| | | </span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="创建时间" prop="createtime" align="center" /> |
| | | <el-table-column label="操作" align="center" width="240" class-name="small-padding fixed-width"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" @click="viewHandle(scope.row)">查看</el-button> |
| | | <el-button type="text" @click="rectifyHandle(scope.row)" v-if="scope.row.status === '待整改' || scope.row.status === '驳回待整改'">整改</el-button> |
| | | <el-button type="text" @click="viewHandle('查看',scope.row)">查看</el-button> |
| | | <el-button type="text" v-show="scope.row.dangerStatus === 0 || scope.row.dangerStatus === 2" @click="viewHandle('整改', scope.row)">整改</el-button> |
| | | <el-button type="text" v-show="scope.row.dangerStatus === 0 || scope.row.dangerStatus === 2" @click="viewHandle('延期', scope.row)">延期</el-button> |
| | | <el-button type="text" style="color:red" @click="deleteById(scope.row)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | </div> |
| | | |
| | | <report-view ref="reportView"></report-view> |
| | | <rectify-dialog ref="rectifyDialog" @refresh = "hiddenDangerList"></rectify-dialog> |
| | | <rectify-dialog ref="rectifyDialog" @refreshRectify = "hiddenDangerList"></rectify-dialog> |
| | | |
| | | <div style="clear: both;"></div> |
| | | </div> |
| | |
| | | import { hiddenDangerRectifyList } from '@/api/hiddenDanger'; |
| | | import reportView from "../components/reportView"; |
| | | import rectifyDialog from "./components/rectifyDialog"; |
| | | import {deleteHiddenDangerReport} from "../../../../../api/hiddenDanger"; |
| | | |
| | | export default { |
| | | name: "rectify", |
| | |
| | | tableKey: 0, |
| | | tableData:[], |
| | | listLoading: false, |
| | | levels:[ |
| | | {"key":"URGENT","value":"重大隐患"}, |
| | | {"key":"COMMON","value":"一般隐患"}, |
| | | departmentList: [], |
| | | rectifyTypeList: [ |
| | | { id: 1, name: '即查即改' }, |
| | | { id: 2, name: '限期整改' } |
| | | ], |
| | | sources:[ |
| | | {"key":1,"value":"隐患上报"}, |
| | | {"key":2,"value":"巡检上报"}, |
| | | dangerStatusList: [ |
| | | { id: 0, name: '整改中' }, |
| | | { id: 1, name: '待验收' }, |
| | | { id: 2, name: '延期整改' }, |
| | | { id: 4, name: '超期未整改' }, |
| | | { id: 9, name: '已验收' } |
| | | ], |
| | | reportStatus:[ |
| | | {"key":"TORECTIFY","value":"待整改"}, |
| | | {"key":"TOACCEPT","value":"整改待验收"}, |
| | | {"key":"REJECTED","value":"驳回待整改"}, |
| | | {"key":"COMPLETED","value":"已完成"}, |
| | | ], |
| | | dataForm: { |
| | | id:'', |
| | | note: '', |
| | | level:'', |
| | | rectifynote:'', |
| | | rectifydeadline:'', |
| | | rectifymeasure:'' |
| | | }, |
| | | filter:{ |
| | | pageIndex:1, |
| | | pageSize:10, |
| | | filter:{ |
| | | status:null, |
| | | code:'', |
| | | requestorName:'', |
| | | level:null, |
| | | } |
| | | rectifyType: null, |
| | | rectifyDepId: null, |
| | | } |
| | | } |
| | | }, |
| | |
| | | this.filter.pageIndex = 1 |
| | | this.hiddenDangerList() |
| | | }, |
| | | viewHandle (row) { |
| | | this.$refs.reportView.showDialog("查看",row) |
| | | viewHandle (type,row) { |
| | | this.$refs.rectifyDialog.showDialog(type,row) |
| | | }, |
| | | rectifyHandle(row){ |
| | | this.$refs.rectifyDialog.show(row) |
| | |
| | | hiddenDangerRectifyList(this.filter) |
| | | .then(res=>{ |
| | | if (res.data.code === '200') { |
| | | this.tableData = res.data.result.records |
| | | this.recordTotal = res.data.result.total |
| | | this.tableData = res.data.data |
| | | this.recordTotal = res.data.count |
| | | } |
| | | else{ |
| | | this.$message({message: res.data.message, type: 'warning'}); |
| | |
| | | this.listLoading = false |
| | | }) |
| | | }, |
| | | |
| | | parseNumber (value, type) { |
| | | if (type === '整改类型') { |
| | | return this.rectifyTypeList.find((item) => item.id === value).name; |
| | | } else if (type === '隐患整改状态') { |
| | | return this.dangerStatusList.find((item) => item.id === value).name; |
| | | } |
| | | }, |
| | | |
| | | deleteById(val){ |
| | | this.$confirm('删除此条信息,是否继续','提示',{ |
| | | confirmButtonText:'确定', |
| | | cancelButtonText:'取消', |
| | | type:'warning', |
| | | }).then(()=> { |
| | | deleteHiddenDangerReport({id:val.id}).then( ()=>{ |
| | | this.hiddenDangerList() |
| | | this.$notify({ |
| | | title:'成功', |
| | | message:'删除成功', |
| | | type:'success', |
| | | duration:2000, |
| | | }) |
| | | }) |
| | | }) |
| | | }, |
| | | |
| | | clearLevel(){ |
| | | this.filter.filter.level = null |
| | | }, |
| | |
| | | padding: 1px 3px 0 3px; |
| | | |
| | | } |
| | | .basic_search{ |
| | | display:inline-block; |
| | | padding-bottom: 10px; |
| | | } |
| | | .analyseUnit_input{ |
| | | width:90%; |
| | | } |
| | | .analyseUnit_box{ |
| | | width:200px; |
| | | } |
| | | </style> |