<template>
|
<el-dialog
|
:visible.sync="expiredFormVisible"
|
append-to-body
|
:close-on-click-modal="false"
|
width="70%">
|
<div class="app-container">
|
<div class="filter-container">
|
<div class="">
|
<span>企业名称:</span>
|
<el-input v-model="listQuery.filter.enterprisename" style="width: 170px" class="undone_search_input"></el-input>
|
</div>
|
<div class="basic_search" style="padding: 10px 0 10px 0">
|
<span>所属区域:</span>
|
<el-select v-model="listQuery.filter.province" style="width: 170px" clearable filterable @change="changeArea('province')">
|
<el-option
|
v-for="item in provinceList"
|
:key="item.id"
|
:label="item.name"
|
:value="item.name"
|
>
|
</el-option>
|
</el-select>
|
</div>
|
<div class="basic_search">
|
<el-select v-model="listQuery.filter.city" style="width: 170px" prop="city" clearable filterable @change="changeArea('city')">
|
<el-option
|
v-for="item in cityList"
|
:key="item.id"
|
:label="item.name"
|
:value="item.name"
|
>
|
</el-option>
|
</el-select>
|
</div>
|
<div class="basic_search">
|
<el-select v-model="listQuery.filter.district" style="width: 170px" clearable filterable @change="changeArea('district')">
|
<el-option
|
v-for="item in districtList"
|
:key="item.id"
|
:label="item.name"
|
:value="item.name"
|
>
|
</el-option>
|
</el-select>
|
</div>
|
<div class="basic_search">
|
<el-select v-model="listQuery.filter.street" style="width: 170px" clearable filterable @change="changeArea('street')" >
|
<el-option
|
v-for="item in streetList"
|
:key="item.id"
|
:label="item.name"
|
:value="item.name"
|
>
|
</el-option>
|
</el-select>
|
</div>
|
<div class="basic_search">
|
<el-select v-model="listQuery.filter.committee" style="width: 170px" clearable filterable @change="aaa()">
|
<el-option
|
v-for="item in committeeList"
|
:key="item.id"
|
:label="item.name"
|
:value="item.name"
|
>
|
</el-option>
|
</el-select>
|
</div>
|
<el-button style="margin-left: 10px;" type="primary" @click="searchData()">查询</el-button>
|
<el-button style="margin-left: 10px;" type="primary" @click="exportData()">导出</el-button>
|
</div>
|
<div class="table_content">
|
<el-table
|
v-loading="listLoading"
|
:key="tableKey"
|
:data="expiredData"
|
border
|
fit
|
highlight-current-row
|
style="width: 100%;"
|
>
|
<el-table-column label="序号" type="index" align="center" width="60"/>
|
<el-table-column label="单位名称" prop="enterprisename" align="center">
|
</el-table-column>
|
<el-table-column label="企业单位编号" prop="enterprisenumber" align="center">
|
</el-table-column>
|
<el-table-column label="地区" align="center">
|
<template slot-scope="scope">
|
{{[scope.row.province,scope.row.city,scope.row.area,scope.row.town,scope.row.community].filter(item=>item!= null &&item !== '' ).join('-')}}
|
</template>
|
</el-table-column>
|
<el-table-column label="许可证有效期" align="center">
|
<template slot-scope="scope">
|
{{[scope.row.validstarttime,scope.row.validendtime].filter(item=>item!= null &&item !== '' ).join('-')}}
|
</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>
|
</div>
|
</el-dialog>
|
</template>
|
|
<script>
|
|
import { computePageCount } from '@/utils'
|
import {expiredList,exportExpiredList} from '@/api/enterprise'
|
import {getCityListData, getProvinceListData} from "@/api/area";
|
export default {
|
name: "expired",
|
data(){
|
return{
|
tableKey:0,
|
listLoading:false,
|
pageSize: 10,
|
recordTotal: 0,
|
currentPage: 1,
|
pageTotal: 0,
|
listQuery:{
|
filter:{
|
enterprisename:'',
|
committee:'',
|
street:'',
|
province:'',
|
city:'',
|
district:''
|
},
|
pageIndex:1,
|
pageSize:10,
|
},
|
searchContent:'',
|
expiredData:[],
|
expiredFormVisible:false,
|
provinceList:[],
|
cityList:[],
|
districtList:[],
|
streetList:[],
|
committeeList:[],
|
}
|
},
|
created(){
|
this.getExpiredList()
|
this.getProvince()
|
},
|
methods:{
|
async getExpiredList(){
|
this.listLoading = true
|
expiredList(this.listQuery)
|
.then(res=>{
|
if(res.data.code === "200"){
|
this.recordTotal = res.data.result.total
|
this.pageSize = res.data.result.size
|
this.pageTotal = computePageCount(res.data.result.total, res.data.result.size)
|
this.currentPage = res.data.result.current
|
this.expiredData = res.data.result.records
|
}
|
})
|
.finally(
|
this.listLoading = false
|
)
|
},
|
searchData(){
|
this.listQuery.pageIndex = 1
|
this.getExpiredList()
|
},
|
handleSizeChange: function(val) {
|
this.listQuery.pageSize = val
|
this.listQuery.pageIndex = 1
|
this.getExpiredList()
|
},
|
handleCurrentChange: function(val) {
|
this.listQuery.pageIndex = val
|
this.getExpiredList()
|
},
|
async changeArea(value){
|
if(value === 'province'){
|
this.listQuery.filter.city = ''
|
this.listQuery.filter.district = ''
|
this.listQuery.filter.street = ''
|
this.listQuery.filter.committee = ''
|
this.areaListQuery = {
|
type: 2,
|
parenttype: 1,
|
parentname: this.listQuery.filter.province,
|
}
|
let res = await getCityListData(this.areaListQuery)
|
if(res.data.code === "200"){
|
this.cityList = res.data.result
|
}
|
}else if(value === 'city'){
|
this.listQuery.filter.district = ''
|
this.listQuery.filter.street = ''
|
this.listQuery.filter.committee = ''
|
this.areaListQuery = {
|
type: 3,
|
parenttype: 2,
|
parentname: this.listQuery.filter.city,
|
}
|
let res = await getCityListData(this.areaListQuery)
|
if(res.data.code === "200"){
|
this.districtList = res.data.result
|
}
|
}else if(value === 'district'){
|
this.listQuery.filter.street = ''
|
this.listQuery.filter.committee = ''
|
this.areaListQuery = {
|
type: 4,
|
parenttype: 3,
|
parentname: this.listQuery.filter.district,
|
}
|
let res = await getCityListData(this.areaListQuery)
|
if(res.data.code === "200"){
|
this.streetList = res.data.result
|
}
|
}else if(value === 'street'){
|
this.listQuery.filter.committee = ''
|
this.areaListQuery = {
|
type: 5,
|
parenttype: 4,
|
parentname: this.listQuery.filter.street,
|
}
|
let res = await getCityListData(this.areaListQuery)
|
if(res.data.code === "200"){
|
this.committeeList = res.data.result
|
}
|
}
|
},//市、镇、街道、委员会
|
async getProvince(){
|
let res = await getProvinceListData()
|
if(res.data.code === "200"){
|
this.provinceList = res.data.result.provinceList
|
}
|
},
|
|
//获取省
|
exportData(){
|
exportExpiredList(this.listQuery)
|
.then(res=>{
|
if (res.data.code === '200') {
|
if(res.data.result === null ||res.data.result === [] || res.data.result.length === 0){
|
this.$message({
|
type:'warning',
|
message:'无数据可导出'
|
})
|
}
|
else{
|
let allData = res.data.result
|
import('@/vendor/Export2Excel').then((excel) => {
|
const tHeader = [
|
'企业名称',
|
'企业编号',
|
'所在地区',
|
'许可证期限'
|
]
|
const data = allData.map(item=>{
|
return [item.enterprisename,
|
item.enterprisenumber,
|
[item.province,item.city,item.area,item.town,item.community].filter(it=>it!= null &&it !== '' ).join('-'),
|
[item.validstarttime,item.validendtime].filter(item=>item!= null &&item !== '' ).join('至')
|
]
|
})
|
excel.export_json_to_excel({
|
header: tHeader,
|
data,
|
filename: '已过期企业'
|
})
|
})
|
|
}
|
}
|
})
|
}
|
}
|
}
|
</script>
|
|
<style scoped>
|
.basic_search{
|
display: inline-block;
|
}
|
|
/deep/ .table_content{
|
padding:0px;
|
}
|
</style>
|