| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <div style="margin: 15px"> |
| | | <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.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.rectifierName"></el-input> |
| | | <div class="basic_search"> |
| | | <span>验收人:</span> |
| | | <el-select v-model="filter.checkAcceptPersonid" clearable filterable class="analyseUnit_box"> |
| | | <el-option |
| | | v-for="item in userList" |
| | | :key="item.id" |
| | | :label="item.realname" |
| | | :value="item.id" |
| | | ></el-option> |
| | | </el-select> |
| | | </div> |
| | | |
| | | <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="requestor" align="center" /> |
| | | <el-table-column label="上报时间" prop="createtime" align="center" /> |
| | | <el-table-column label="整改人" prop="rectifier" align="center" /> |
| | | <el-table-column label="整改期限" prop="rectifydeadline" 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 v-bind:class="{'overdue':new Date(scope.row.rectifydeadline) < new Date() && scope.row.status !== '已完成'}">{{scope.row.rectifydeadline}} |
| | | </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="rectifytime" align="center" /> |
| | | |
| | | |
| | | <el-table-column label="操作" align="center" width="240" class-name="small-padding fixed-width"> |
| | | <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"> |
| | | <el-button type="text" @click="viewHandle(scope.row)">查看</el-button> |
| | | <el-button type="text" @click="acceptHandle(scope.row)" v-if="scope.row.status === '整改待验收'">验收</el-button> |
| | | <el-button type="text" @click="viewHandle('查看',scope.row)">查看</el-button> |
| | | <el-button type="text" v-show="scope.row.dangerStatus === 1" @click="checkDialog(scope.row)">验收</el-button> |
| | | <!-- <el-button type="text" style="color:red" @click="deleteById(scope.row)">删除</el-button>--> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | /> |
| | | </div> |
| | | |
| | | <accept-dialog ref="accept" @refreshCheck="hiddenDangerList"></accept-dialog> |
| | | <report-view ref="reportView"></report-view> |
| | | <accept-dialog ref="acceptDialog" @refresh="hiddenDangerList"></accept-dialog> |
| | | |
| | | <rectify-dialog ref="rectifyDialog" @refresh = "hiddenDangerList"></rectify-dialog> |
| | | |
| | | <div style="clear: both;"></div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { checkBtnPermission} from "@/utils/permission"; |
| | | import { hiddenDangerAcceptList} from '@/api/hiddenDanger'; |
| | | import reportView from "../components/reportView"; |
| | | import acceptDialog from "./components/acceptDialog"; |
| | | import { checkBtnPermission} from "@/utils/permission"; |
| | | import { hiddenDangerRectifyList } from '@/api/hiddenDanger'; |
| | | import reportView from "../components/reportView"; |
| | | import rectifyDialog from "../rectify/components/rectifyDialog"; |
| | | import {deleteHiddenDangerReport, hiddenDangerAcceptList} from "../../../../../api/hiddenDanger"; |
| | | import {safetyInspectionItemName} from "../../../../../api/safetySelfInspection"; |
| | | import AcceptDialog from "./components/acceptDialog"; |
| | | |
| | | export default { |
| | | name: "confirm", |
| | | components: { |
| | | reportView, |
| | | acceptDialog, |
| | | }, |
| | | data() { |
| | | return { |
| | | recordTotal: 0, |
| | | tableKey: 0, |
| | | tableData:[], |
| | | listLoading: true, |
| | | levels:[ |
| | | {"key":"URGENT","value":"紧急"}, |
| | | {"key":"COMMON","value":"一般"}, |
| | | ], |
| | | dataForm: { |
| | | id:'', |
| | | note: '', |
| | | level:'', |
| | | rejectnote:'', |
| | | }, |
| | | filter:{ |
| | | pageIndex:1, |
| | | pageSize:10, |
| | | filter:{ |
| | | code:'', |
| | | level:null, |
| | | rectifierName:'', |
| | | } |
| | | } |
| | | export default { |
| | | name: "rectify", |
| | | components: { |
| | | AcceptDialog, |
| | | reportView, |
| | | rectifyDialog, |
| | | }, |
| | | data() { |
| | | return { |
| | | recordTotal: 0, |
| | | tableKey: 0, |
| | | tableData:[], |
| | | userList:[], |
| | | listLoading: false, |
| | | departmentList: [], |
| | | rectifyTypeList: [ |
| | | { id: 1, name: '即查即改' }, |
| | | { id: 2, name: '限期整改' } |
| | | ], |
| | | dangerStatusList: [ |
| | | { id: 0, name: '整改中' }, |
| | | { id: 1, name: '待验收' }, |
| | | { id: 2, name: '延期整改' }, |
| | | { id: 4, name: '超期未整改' }, |
| | | { id: 9, name: '已验收' } |
| | | ], |
| | | filter:{ |
| | | pageIndex:1, |
| | | pageSize:10, |
| | | checkAcceptPersonid: null, |
| | | } |
| | | }, |
| | | created() { |
| | | this.hiddenDangerList(); |
| | | }, |
| | | |
| | | methods: { |
| | | queryHandle: function () { |
| | | this.filter.pageIndex = 1 |
| | | this.hiddenDangerList() |
| | | }, |
| | | |
| | | |
| | | viewHandle: function (row) { |
| | | this.$refs.reportView.showDialog("查看",row) |
| | | }, |
| | | |
| | | acceptHandle(row){ |
| | | this.$refs.acceptDialog.showDialog(row) |
| | | } , |
| | | |
| | | handleSizeChange: function (val) { |
| | | this.filter.pageSize = val |
| | | this.filter.pageIndex = 1 |
| | | this.hiddenDangerList() |
| | | }, |
| | | handleCurrentChange: function (val) { |
| | | this.filter.pageIndex = val |
| | | this.hiddenDangerList() |
| | | }, |
| | | getBtnPermission(btnType) { |
| | | return checkBtnPermission(this.userType, btnType) |
| | | }, |
| | | |
| | | downloadHandle(fileurl){ |
| | | window.open(fileurl, '_blank'); |
| | | }, |
| | | |
| | | |
| | | handleChange(file, fileList) { |
| | | this.fileList = fileList |
| | | }, |
| | | |
| | | hiddenDangerList(){ |
| | | this.listLoading = true |
| | | hiddenDangerAcceptList(this.filter) |
| | | .then(res=>{ |
| | | if (res.data.code === '200') { |
| | | this.tableData = res.data.result.records |
| | | this.recordTotal = res.data.result.total |
| | | } |
| | | else{ |
| | | this.$message({message: res.data.message, type: 'warning'}); |
| | | } |
| | | }) |
| | | .catch(err=>{ |
| | | console.log(err) |
| | | this.$message({message: '接口错误', type: 'warning'}); |
| | | }) |
| | | .finally(()=>{ |
| | | this.listLoading = false |
| | | }) |
| | | }, |
| | | clearLevel(){ |
| | | this.filter.filter.level = null |
| | | } |
| | | |
| | | |
| | | } |
| | | }, |
| | | created() { |
| | | this.hiddenDangerList(); |
| | | this.getUser() |
| | | }, |
| | | methods: { |
| | | queryHandle: function () { |
| | | this.filter.pageIndex = 1 |
| | | this.hiddenDangerList() |
| | | }, |
| | | checkDialog(row){ |
| | | this.$refs.accept.showDialog(row) |
| | | }, |
| | | viewHandle (type,row) { |
| | | this.$refs.rectifyDialog.showDialog(type,row) |
| | | }, |
| | | rectifyHandle(row){ |
| | | this.$refs.rectifyDialog.show(row) |
| | | }, |
| | | |
| | | handleSizeChange: function (val) { |
| | | this.filter.pageSize = val |
| | | this.filter.pageIndex = 1 |
| | | this.hiddenDangerList() |
| | | }, |
| | | handleCurrentChange: function (val) { |
| | | this.filter.pageIndex = val |
| | | this.hiddenDangerList() |
| | | }, |
| | | getBtnPermission(btnType) { |
| | | return checkBtnPermission(this.userType, btnType) |
| | | }, |
| | | |
| | | |
| | | downloadHandle(fileurl){ |
| | | window.open(fileurl, '_blank'); |
| | | }, |
| | | |
| | | async getUser(){ |
| | | let res = await safetyInspectionItemName() |
| | | if(res.data.code === '200'){ |
| | | this.userList = res.data.result |
| | | }else{ |
| | | this.$message({ |
| | | message:res.data.message, |
| | | type:'warning' |
| | | }) |
| | | } |
| | | }, |
| | | |
| | | hiddenDangerList(){ |
| | | this.listLoading = true |
| | | hiddenDangerAcceptList(this.filter) |
| | | .then(res=>{ |
| | | if (res.data.code === '200') { |
| | | this.tableData = res.data.data |
| | | this.recordTotal = res.data.count |
| | | } |
| | | else{ |
| | | this.$message({message: res.data.message, type: 'warning'}); |
| | | } |
| | | |
| | | }) |
| | | .catch(err=>{ |
| | | console.log(err) |
| | | this.$message({message: '接口错误', type: 'warning'}); |
| | | |
| | | }) |
| | | .finally(()=>{ |
| | | 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 |
| | | }, |
| | | clearStatus(){ |
| | | this.filter.filter.status = null |
| | | }, |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .overdue{ |
| | | color: red; |
| | | } |
| | | .overdue-img{ |
| | | position: absolute; |
| | | background-color: #f56c6c; |
| | | border-radius: 4px; |
| | | color: #fff; |
| | | display: inline-block; |
| | | font-size: 12px; |
| | | height: 21px; |
| | | line-height: 18px; |
| | | text-align: center; |
| | | white-space: nowrap; |
| | | border: 1px solid #fff; |
| | | transform: scale(0.8); |
| | | padding: 1px 3px 0 3px; |
| | | |
| | | } |
| | | .overdue{ |
| | | color: red; |
| | | } |
| | | .overdue-img{ |
| | | position: absolute; |
| | | background-color: #f56c6c; |
| | | border-radius: 4px; |
| | | color: #fff; |
| | | display: inline-block; |
| | | font-size: 12px; |
| | | height: 21px; |
| | | line-height: 18px; |
| | | text-align: center; |
| | | white-space: nowrap; |
| | | border: 1px solid #fff; |
| | | transform: scale(0.8); |
| | | padding: 1px 3px 0 3px; |
| | | |
| | | } |
| | | .basic_search{ |
| | | display:inline-block; |
| | | padding-bottom: 10px; |
| | | } |
| | | .analyseUnit_input{ |
| | | width:90%; |
| | | } |
| | | .analyseUnit_box{ |
| | | width:200px; |
| | | } |
| | | </style> |