<template>
|
<div class="app-container">
|
<el-form ref="form" :inline="true" class="inquire" :model="listQuery.form" label-width="100px">
|
<el-form-item label="编号">
|
<el-input v-model="listQuery.form.number" style="width:202px" placeholder="请输入内容"></el-input>
|
</el-form-item>
|
<el-form-item label="检查单位">
|
<el-select v-model="listQuery.form.check_main_branch" placeholder="请选择" @change="changeJCDW">
|
<el-option
|
v-for="item in JCDWList"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="检查部门">
|
<el-select v-model="listQuery.form.check_branch" placeholder="请选择">
|
<el-option
|
v-for="item in JCBMList"
|
:key="item.value"
|
:label="item.value"
|
:value="item.value">
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="检查人">
|
<el-input v-model="listQuery.form.check_man" style="width:202px" placeholder="请输入内容"></el-input>
|
</el-form-item>
|
<el-form-item label="隐患单位">
|
<el-input v-model="listQuery.form.ht_community" style="width:202px" :disabled="true"></el-input>
|
<!--<el-select v-model="listQuery.form.ht_community" placeholder="请选择" @change="changeYHDW">
|
<el-option
|
v-for="item in JCDWList"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value">
|
</el-option>
|
</el-select>-->
|
</el-form-item>
|
<el-form-item label="隐患部门">
|
<el-select v-model="listQuery.form.ht_branch" placeholder="请选择">
|
<el-option
|
v-for="item in YHBMList"
|
:key="item.branch_id"
|
:label="item.branch_name"
|
:value="item.branch_name">
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="隐患类别">
|
<el-select v-model="listQuery.form.ht_typesub" placeholder="请选择">
|
<el-option
|
v-for="item in YHLXList"
|
:key="item.value"
|
:label="item.value"
|
:value="item.value">
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="隐患级别">
|
<el-select v-model="listQuery.form.ht_level" placeholder="请选择">
|
<el-option
|
v-for="item in YHJBList"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value">
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="检查类别">
|
<el-select v-model="listQuery.form.checktype" placeholder="请选择">
|
<el-option
|
v-for="item in JCLBList"
|
:key="item.value"
|
:label="item.value"
|
:value="item.value">
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="隐患地点">
|
<el-input v-model="listQuery.form.address" style="width:202px" placeholder="请输入内容"></el-input>
|
</el-form-item>
|
<el-form-item label="隐患内容">
|
<el-input v-model="listQuery.form.ht_content" style="width:202px" placeholder="请输入内容"></el-input>
|
</el-form-item>
|
<el-form-item label="班次">
|
<el-select v-model="listQuery.form.check_class" placeholder="请选择">
|
<el-option
|
v-for="item in BCList"
|
:key="item.value"
|
:label="item.value"
|
:value="item.value">
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="深入现场情况">
|
<el-select v-model="listQuery.form.class_situation" placeholder="请选择">
|
<el-option
|
v-for="item in reList"
|
:key="item.value"
|
:label="item.value"
|
:value="item.value">
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<!-- <el-form-item label="录入人">
|
<el-select v-model="listQuery.form.createBy" placeholder="请选择">
|
<el-option
|
v-for="item in llrList"
|
: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" placeholder="选择日期" v-model="listQuery.form.check_dateStart" style="width: 100%;" value-format="yyyy-MM-dd"></el-date-picker>
|
</el-col>
|
<el-col style="text-align:center" :span="2">-</el-col>
|
<el-col :span="11">
|
<el-date-picker type="date" placeholder="选择日期" v-model="listQuery.form.check_dateEnd" style="width: 100%;" value-format="yyyy-MM-dd"></el-date-picker>
|
</el-col>
|
</el-form-item>
|
<el-form-item label="限改时间">
|
<el-col :span="11">
|
<el-date-picker type="date" placeholder="选择日期" v-model="listQuery.form.alter_timeStart" value-format="yyyy-MM-dd" 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" placeholder="选择日期" v-model="listQuery.form.alter_timeEnd" value-format="yyyy-MM-dd" style="width: 100%;"></el-date-picker>
|
</el-col>
|
</el-form-item>
|
<el-form-item style="text-align:center;padding:0 50px">
|
<el-button type="primary" class="btns" size="small" icon="el-icon-search" @click="getPageList()">查询</el-button>
|
<el-button type="primary" class="btns" size="small" icon="el-icon-refresh-right" @click="reset()">重置</el-button>
|
<el-button type="primary" class="btns" size="small" icon="el-icon-upload2" @click="exportData">导出excel</el-button>
|
</el-form-item>
|
</el-form>
|
<el-row class="title-center">
|
<el-col :span="10">
|
<el-radio-group v-model="listQuery.tag" @change="typeChange">
|
<el-radio-button label="0"
|
v-for="item in tagList"
|
:label="item.value"
|
:key="item.value">
|
{{item.value}}
|
</el-radio-button>
|
<!-- <el-radio-button label="1">特别关注</el-radio-button>-->
|
<!-- <el-radio-button label="2">全部</el-radio-button>-->
|
</el-radio-group>
|
</el-col>
|
<div v-if="table1">
|
<el-col :span="14" style="text-align:right;">
|
<el-button class="btns" type="primary" size="small" @click="specialFocus()">{{focusDesc}}</el-button>
|
<!-- <el-button class="btns" type="primary" size="small" @click="sendBath()">管理关注</el-button>-->
|
</el-col>
|
</div>
|
</el-row>
|
<el-table :data="tableData" style="width: 100%" @selection-change="handleSelectionChange" v-loading="listLoading">
|
<el-table-column type="selection" width="55" align="center"></el-table-column>
|
<el-table-column prop="number" label="编号" align="center" width="120">
|
<template slot-scope="scope">
|
<div class="blue-font-color" @click="showDetails(scope.row)">{{ scope.row.number }}</div>
|
</template>
|
</el-table-column>
|
<el-table-column prop="check_branch" label="检查部门" align="center" width="120"></el-table-column>
|
<el-table-column prop="check_man" label="检查人" align="center" width="120"></el-table-column>
|
<el-table-column prop="checktype" label="检查类别" align="center"></el-table-column>
|
<el-table-column label="隐患项目" align="center">
|
<el-table-column prop="check_date" label="检查时间" :formatter="formatColumnDate" width="120" align="center">
|
<template slot-scope="scope">
|
<label>{{ formatDate(scope.row.check_date) }}</label><br/>
|
<label>{{ scope.row.check_class }}</label>
|
</template>
|
</el-table-column>
|
<el-table-column prop="address" label="地点" align="center"> </el-table-column>
|
<el-table-column prop="ht_content" label="内容" align="center">
|
<template slot-scope="scope">
|
<el-popover trigger="hover" placement="top">
|
<p>{{ scope.row.ht_content }}</p>
|
<div slot="reference" class="name-wrapper">{{
|
scope.row.ht_content != null && scope.row.ht_content.length > 10 ? scope.row.ht_content.substring(0, 8) + "...." : scope.row.ht_content
|
}}
|
</div>
|
</el-popover>
|
</template>
|
</el-table-column>
|
<el-table-column prop="ht_typesub" label="类别" align="center"> </el-table-column>
|
<el-table-column prop="ht_level" label="级别" align="center"> </el-table-column>
|
</el-table-column>
|
<el-table-column label="整改计划" align="center">
|
<el-table-column prop="measure" label="整改措施" align="center"> </el-table-column>
|
<el-table-column prop="ht_branch" label="隐患部门" align="center"> </el-table-column>
|
<el-table-column prop="duty_officer" label="责任人" align="center"> </el-table-column>
|
<el-table-column prop="alter_time" label="限改时间" :formatter="formatColumnDate" width="120" align="center"></el-table-column>
|
<el-table-column prop="ht_level" label="级别" align="center"> </el-table-column>
|
</el-table-column>
|
<el-table-column label="整改情况" align="center">
|
<el-table-column prop="ACCOMPLISHTIME" label="完成时间" :formatter="formatColumnDate" width="110px" align="center"> </el-table-column>
|
<el-table-column prop="CALLBACKRESULT" label="复查结果" align="center"> </el-table-column>
|
<el-table-column prop="CALLBACKPERSON" label="复查人" align="center"> </el-table-column>
|
<el-table-column prop="CALLBACKTIME" label="复查时间" :formatter="formatColumnDate" width="120" align="center"></el-table-column>
|
</el-table-column>
|
<el-table-column label="隐患处理状态" align="center">
|
<template slot-scope="scope">
|
<span v-if="scope.row.step =='1'">初始状态</span>
|
<span v-if="scope.row.step =='2'">整改中</span>
|
<span v-if="scope.row.step =='3'">复查中</span>
|
<span v-if="scope.row.step =='END'">处理结束</span>
|
</template>
|
</el-table-column>
|
<el-table-column prop="DTRisk_bankId" label="是否关联" align="center">
|
<template slot-scope="scope">
|
<span v-if="scope.row.DTRisk_bankId==0 || scope.row.DTRisk_bankId=='' || scope.row.DTRisk_bankId==null">未关联</span>
|
<span v-else>已关联</span>
|
</template>
|
</el-table-column>
|
<el-table-column prop="DTRisk_level" label="风险等级" align="center"> </el-table-column>
|
<el-table-column prop="warningLevel" label="初始警情" align="center"> </el-table-column>
|
<el-table-column prop="curWarningLevel" label="当前警情" align="center"> </el-table-column>
|
<!-- <el-table-column prop="date" label="流程操作" align="center" fixed="right">
|
<template slot-scope="scope">
|
<el-button @click="handleClick(scope.row)" type="text" size="small">点击发送</el-button>
|
</template>
|
</el-table-column>
|
<el-table-column prop="date" label="基本操作" align="center" fixed="right">
|
<template slot-scope="scope">
|
<el-button @click="updateClick(scope.row)" type="text" size="small">编辑</el-button>
|
<el-button @click="deleteClick(scope.row)" type="text" size="small">删除</el-button>
|
</template>
|
</el-table-column> -->
|
</el-table>
|
<div style="text-align: right">
|
<el-pagination
|
v-show="recordTotal > 0"
|
@size-change="handleSizeChange"
|
@current-change="handleCurrentChange"
|
:current-page="currentPage"
|
:page-sizes="[10, 20, 30, 50]"
|
:page-size="pageSize"
|
layout="total, sizes, prev, pager, next, jumper"
|
:total="recordTotal"
|
>
|
</el-pagination>
|
</div>
|
|
</div>
|
</template>
|
<script>
|
import { getPageList, danger_focus_tag, analogy_export_do, focus_do} from "@/api/sgyhpczl/careabout"
|
import {initJCBM ,initYHLX, initBC ,initJCLB ,initYHBM ,initYHJB,initLlr,initSrxcqk} from "@/api/sgyhpczl/initSelect";
|
|
export default{
|
data(){
|
return{
|
listQuery:{
|
page:1,
|
limit:10,
|
tag: '全部',
|
form:{
|
ht_community:'众泰煤焦化'
|
},
|
},
|
radio1:'待发送',
|
table1:true,
|
table2:false,
|
|
focusDesc: '特别关注',
|
currentPage: 1,
|
pageSize: 10,
|
recordTotal: 0,
|
JCDWList:[{label:"众泰煤焦化",value:0},{label:"上级单位",value:1}],
|
JCBMList:[],
|
YHLXList:[],
|
BCList:[],
|
reList:[],
|
JCLBList:[],
|
YHBMList:[],
|
YHJBList:[],
|
tagList:[],
|
tableData:[],
|
selectedList:[],
|
listLoading: false,
|
selfInspectVisible: false,
|
selfInspectForm:{
|
id: '',
|
markUserName:'',
|
markDate:'',
|
remark:'',
|
},
|
selfInspectFormRules:{
|
markUserName: [{ required: true, message: '自查人不能为空', trigger: 'blur' }],
|
markDate: [{ required: true, message: '自查时间不能为空', trigger: 'blur' }]
|
},
|
|
}
|
},
|
mounted() {
|
this.initYHLX();
|
this.initYHJB();
|
this.initBC();
|
this.initJCLB();
|
this.initLlr();
|
this.initYHBM();
|
this.initSrxcqk();
|
this.initTags();
|
this.getPageList();
|
},
|
methods:{
|
sendBath(){
|
this.$router.push({
|
path:'/managementConcerns'
|
})
|
},
|
handleClick(data,val){
|
if(val=='存在'){
|
this.$router.push({
|
path:'/exist'
|
})
|
}
|
},
|
initYHLX(){
|
initYHLX().then(res=>{
|
if (res.data.ok==1){
|
this.YHLXList=res.data.data
|
} else{
|
this.$message({type:'error', message:res.data.msg, duration:3000})
|
}
|
})
|
},
|
initYHJB(){
|
initYHJB().then(res=>{
|
if (res.data.ok==1){
|
this.YHJBList=res.data.data
|
} else{
|
this.$message({type:'error', message:res.data.msg, duration:3000})
|
}
|
})
|
},
|
initBC(){
|
initBC().then(res=>{
|
if (res.data.ok==1){
|
this.BCList=res.data.data
|
} else{
|
this.$message({type:'error', message:res.data.msg, duration:3000})
|
}
|
})
|
},
|
initJCLB(){
|
initJCLB().then(res=>{
|
if (res.data.ok==1){
|
this.JCLBList=res.data.data
|
} else{
|
this.$message({type:'error', message:res.data.msg, duration:3000})
|
}
|
})
|
},
|
initYHBM(){
|
initYHBM().then(res=>{
|
if (res.data.ok==1){
|
this.YHBMList=res.data.data
|
} else{
|
this.$message({type:'error', message:res.data.msg, duration:3000})
|
}
|
})
|
},
|
initSrxcqk(){
|
initSrxcqk().then(res=>{
|
if (res.data.ok==1){
|
this.reList=res.data.data
|
} else{
|
this.$message({type:'error', message:res.data.msg, duration:3000})
|
}
|
})
|
},
|
initTags(){
|
danger_focus_tag().then(res=>{
|
if (res.data.ok==1){
|
this.tagList=res.data.data
|
} else{
|
this.$message({type:'error', message:res.data.msg, duration:3000})
|
}
|
})
|
},
|
initLlr(){
|
initLlr().then(res=>{
|
if (res.data.ok==1){
|
this.llrList=res.data.data
|
} else{
|
this.$message({type:'error', message:res.data.msg, duration:3000})
|
}
|
})
|
},
|
changeJCDW(val){
|
initJCBM(val).then(res=>{
|
if (res.data.ok==1){
|
this.JCBMList=res.data.data
|
} else{
|
this.$message({type:'error', message:res.data.msg, duration:3000})
|
}
|
})
|
},
|
checkTime(){
|
if(this.listQuery.form.check_dateStart!=null && this.listQuery.form.check_dateStart!=''){
|
if(this.listQuery.form.check_dateEnd!=null && this.listQuery.form.check_dateEnd!=''){
|
}else {
|
this.$message({type:'error', message:"请选择检查结束时间", duration:3000})
|
return
|
}
|
|
}
|
if(this.listQuery.form.check_dateEnd!=null && this.listQuery.form.check_dateEnd!=''){
|
if(this.listQuery.form.check_dateStart!=null && this.listQuery.form.check_dateStart!=''){
|
}else {
|
this.$message({type:'error', message:"请选择检查开始时间", duration:3000})
|
return
|
}
|
}
|
},
|
//搜索
|
getPageList(){
|
this.listQuery.page=1
|
// this.listQuery.limit=10
|
this.checkTime()
|
this.listLoading = true
|
getPageList(this.listQuery).then(res=>{
|
this.listLoading = false
|
if (res.data.ok==1) {
|
this.tableData = res.data.data.items
|
this.recordTotal=res.data.data.total
|
}else{
|
this.$message({type:'error', message:res.data.msg, duration:3000})
|
}
|
})
|
},
|
//重置
|
reset(){
|
this.listQuery.form = {ht_community: "众泰煤焦化"}
|
this.getPageList()
|
},
|
handleSizeChange(val){
|
this.listQuery.limit = val
|
this.getPageListForPagination();
|
},
|
handleCurrentChange(val){
|
this.listQuery.page = val
|
this.getPageListForPagination();
|
},
|
getPageListForPagination(){
|
this.checkTime()
|
getPageList(this.listQuery).then(res=>{
|
if (res.data.ok==1) {
|
this.tableData = res.data.data.items
|
this.recordTotal=res.data.data.total
|
}else{
|
this.$message({type:'error', message:res.data.msg, duration:3000})
|
}
|
})
|
},
|
showDetails(row){
|
this.$router.push({
|
path: "/dangerDetails",
|
query:{"id":row.id}
|
})
|
},
|
typeChange(val){
|
this.listQuery.tag = val;
|
if (val == '特别关注'){
|
this.focusDesc = '取消关注'
|
}else {
|
this.focusDesc = '特别关注'
|
}
|
this.getPageList()
|
},
|
handleSelectionChange(val){
|
this.selectedList = []
|
val.forEach((item) => {
|
this.selectedList.push(item)
|
})
|
},
|
exportData() {
|
this.listLoading = true
|
var requestData = JSON.parse(JSON.stringify(this.listQuery));
|
requestData.export_type = 7;
|
//删除分页参数
|
this.$delete(requestData, 'page')
|
this.$delete(requestData, 'limit')
|
analogy_export_do(requestData).then(res => {
|
this.listLoading = false
|
var blob = new Blob([res.data])
|
var downloadElement = document.createElement('a')
|
var href = window.URL.createObjectURL(blob) //创建下载的链接
|
downloadElement.href = href
|
downloadElement.download = '隐患信息一览.xlsx' //下载后文件名
|
document.body.appendChild(downloadElement)
|
downloadElement.click() //点击下载
|
document.body.removeChild(downloadElement) //下载完成移除元素
|
window.URL.revokeObjectURL(href) //释放掉blob对象
|
}).catch(err => {
|
console.log(err)
|
})
|
},
|
//特别关注/取消关注
|
specialFocus(){
|
if (this.selectedList == null || this.selectedList.length == 0) {
|
this.$message({type: 'warning', message: '至少选中一条数据', duration: 3000})
|
return
|
}
|
var type = this.listQuery.tag == '特别关注' ? 'del' : 'add'
|
var desc = this.listQuery.tag == '特别关注' ? '确认取消吗' : '确认关注吗'
|
this.$confirm(desc, '提示', {
|
confirmButtonText: '确认',
|
cancelButtonText: '取消',
|
type: 'warning'
|
}).then(() => {
|
var ids = this.selectedList.map((obj) => {
|
return obj.id
|
}).join(",")
|
let data = {
|
type: type,
|
ids: ids,
|
}
|
focus_do(data).then(() => {
|
this.getPageList()
|
this.$notify({
|
title: "成功",
|
message: "操作成功",
|
type: "success",
|
duration: 2000,
|
});
|
});
|
}).catch(error => {
|
});
|
},
|
//日期格式转换
|
formatColumnDate(row, column) {
|
// 获取单元格数据
|
let data = row[column.property]
|
if (data == null) {
|
return null
|
}
|
let dt = new Date(data)
|
return dt.getFullYear() + '-' + (dt.getMonth() + 1) + '-' + dt.getDate() + ' '
|
},
|
//方法区
|
formatDate(data) {
|
// 获取单元格数据
|
if (data == null) {
|
return null
|
}
|
let dt = new Date(data)
|
return dt.getFullYear() + '-' + (dt.getMonth() + 1) + '-' + dt.getDate()
|
},
|
}
|
}
|
</script>
|
<style scoped>
|
.inquire {
|
display: flex;
|
justify-content: left;
|
flex-wrap: wrap;
|
}
|
.inquire .el-form-item {
|
padding: 0 40px;
|
}
|
.title-center {
|
padding: 20px 0;
|
}
|
|
.btns {
|
background-color: #034ea2;
|
border: 1px solid #034ea2;
|
}
|
|
.title-center /deep/ .el-radio-button:first-child .el-radio-button__inner {
|
border: none;
|
}
|
|
.title-center /deep/ .el-radio-button__inner {
|
border: none;
|
border-radius: 0px;
|
}
|
|
.title-center /deep/ .el-radio-button__orig-radio:checked + .el-radio-button__inner {
|
background-color: #034ea2;
|
background-color: #034ea2;
|
}
|
</style>
|