<template>
|
<el-dialog :title="title" :visible.sync="troubleDetailVisible" :modal-append-to-body="false" :close-on-click-modal="false" width="70%">
|
<div class="app-container">
|
<div class="table_content">
|
<el-table
|
v-loading="listLoading"
|
:key="tableKey"
|
:data="troubleDetailData"
|
border
|
fit
|
highlight-current-row
|
style="width: 100%;"
|
>
|
<el-table-column type="index" label="序号" align="center" width="80"/>
|
<el-table-column label="单位名称" prop="unit" align="center">
|
</el-table-column>
|
<el-table-column label="单位代码" prop="code" align="center">
|
</el-table-column>
|
<el-table-column label="申请人" prop="applicant" align="center">
|
</el-table-column>
|
<el-table-column label="施工单位" prop="constructionunit" align="center">
|
</el-table-column>
|
<el-table-column label="作业内容" prop="area" align="center">
|
</el-table-column>
|
<el-table-column label="开始时间" prop="starttime" align="center">
|
</el-table-column>
|
<el-table-column label="结束时间" prop="endtime" align="center">
|
</el-table-column>
|
<el-table-column label="作业级别" prop="level" align="center">
|
<template slot-scope="scope">
|
<div v-for="item in levelList">
|
<div v-if="scope.row.level === item.id">
|
<span>{{item.name}}</span>
|
<!-- <el-tag v-if="scope.row.level ===0" type="success">{{item.name}}</el-tag>-->
|
<!-- <el-tag v-if="scope.row.level ===1" type="warning">{{item.name}}</el-tag>-->
|
<!-- <el-tag v-if="scope.row.level ===2" type="danger">{{item.name}}</el-tag>-->
|
</div>
|
</div>
|
</template>
|
</el-table-column>
|
<el-table-column label="任务审批状态" prop="status" align="center">
|
<template slot-scope="scope">
|
<div v-for="item in statusList">
|
<div v-if="scope.row.status === item.id">
|
<span>{{item.name}}</span>
|
</div>
|
</div>
|
</template>
|
</el-table-column>
|
<el-table-column label="作业状态" prop="flag" align="center">
|
<template slot-scope="scope">
|
<div v-for="item in flagList">
|
<div v-if="scope.row.flag === item.id">
|
<span>{{item.name}}</span>
|
</div>
|
</div>
|
</template>
|
</el-table-column>
|
</el-table>
|
<br>
|
<el-pagination
|
v-show="recordTotal>0"
|
:current-page="currentPage"
|
:page-sizes="[10, 20, 30, 50]"
|
:page-size="pageSize"
|
:total="recordTotal"
|
layout="total, sizes, prev, pager, next, jumper"
|
background
|
style="float:right;"
|
@size-change="handleSizeChange"
|
@current-change="handleCurrentChange"
|
/>
|
<br>
|
</div>
|
<el-dialog :visible.sync="dialogVisible" :append-to-body="true">
|
<img width="100%" :src="dialogImageUrl" alt="">
|
</el-dialog>
|
</div>
|
</el-dialog>
|
</template>
|
|
<script>
|
import { mapGetters } from 'vuex'
|
import { getWorkDetailList } from '@/api/troubleStatistics'
|
import { computePageCount } from '@/utils'
|
|
export default {
|
name: 'index',
|
filters: {
|
parseMain(type){
|
if(type === 1){
|
return "是"
|
}else if(type === 0){
|
return "否"
|
}
|
},
|
},
|
computed: {
|
...mapGetters([
|
'userType'
|
])
|
},
|
data() {
|
return {
|
tableKey: 0,
|
troubleDetailData: [],
|
levelList:[{id:2,name:'特级'},{id:1,name:'一级'},{id:0,name:'二级'},],
|
statusList:[
|
{id:0,name:'已驳回'},
|
{id:1,name:'未提交'},
|
{id:2,name:'已提交'},
|
{id:3,name:'施工单位已确认'},
|
{id:4,name:'动火部位负责人审批通过'},
|
{id:5,name:'相关部门审批通过'},
|
{id:6,name:'安全部门审批通过'},
|
{id:7,name:'审批通过'},
|
],
|
flagList:[
|
{id:0,name:'待提交'},
|
{id:1,name:'作业中止'},
|
{id:2,name:'等待检查'},
|
{id:3,name:'等待开始'},
|
{id:4,name:'作业中'},
|
{id:5,name:'作业完成'},
|
],
|
listLoading: false,
|
pageSize: 10,
|
recordTotal: 0,
|
currentPage: 1,
|
pageTotal: 0,
|
title:'',
|
company:'',
|
starttime:'',
|
endtime:'',
|
status:'',
|
flag:'',
|
troubleDetailVisible:false,
|
dialogImageUrl:'',
|
dialogVisible:false,
|
}
|
},
|
created() {
|
},
|
methods: {
|
showTroubleDetail(company,status,flag,starttime,endtime,type){
|
this.troubleDetailVisible = true
|
this.starttime = starttime
|
this.status = status
|
this.flag = flag
|
this.endtime = endtime
|
this.company = company
|
this.type = type
|
this.getTroubleData()
|
},
|
async getTroubleData(){
|
this.listLoading = true
|
let params = {}
|
params['pageIndex'] = this.currentPage
|
params['pageSize'] = this.pageSize
|
params['company'] = this.company
|
params['starttime'] = this.starttime
|
params['endtime'] = this.endtime
|
params['status'] = this.status
|
params['flag'] = this.flag
|
params['type'] = this.type
|
let res = await getWorkDetailList(params)
|
if(res.data.code === '200'){
|
this.recordTotal = res.data.result.totalCount
|
this.pageSize = res.data.result.pageSize
|
this.pageTotal = computePageCount(res.data.result.totalCount, res.data.result.pageSize)
|
this.currentPage = res.data.result.pageIndex
|
this.troubleDetailData = res.data.result.result
|
}else{
|
}
|
this.listLoading = false
|
},
|
reportResources(file){
|
this.dialogImageUrl = file.url;
|
this.dialogVisible = true;
|
},
|
handleSizeChange(val){
|
this.pageSize = val
|
this.getTroubleData()
|
},
|
handleCurrentChange(val){
|
this.currentPage = val
|
this.getTroubleData()
|
},
|
}
|
}
|
</script>
|
<style scoped>
|
.basic_search{
|
display:inline-block;
|
padding-bottom: 10px;
|
}
|
</style>
|