aiccs/src/views/comprehensive/result.vue

989 lines
35 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="main-content market search-result content m20">
<div class="search-box">
<el-row>
<el-col :span="8">
<div class="search-field">
<p>统一码/注册号</p>
<el-input v-model.trim="searchForm.searchUscc" placeholder="统一社会信用代码/注册号" @keyup.enter.native="submitSearch" />
</div>
</el-col>
<el-col :span="8">
<div class="search-field">
<p>企业名称(模糊)</p>
<el-input v-model.trim="searchForm.entName" style="width:100%" placeholder="企业名称" @keyup.enter.native="submitSearch" />
</div>
</el-col>
<el-col v-if="!showMore" :span="8" style="text-align:center;">
<span class="arrow" @click="showMore = !showMore"><i class="el-icon-arrow-down" />展开</span>
<el-button type="primary" icon="el-icon-search" size="mini" :loading="loading" @click="submitSearch">查询</el-button>
<el-button type="info" icon="el-icon-refresh-left" size="mini" @click="resetForm">重置</el-button>
</el-col>
<el-col v-else :span="8">
<div class="search-field">
<p>企业名称(精准)</p>
<el-input v-model.trim="searchForm.entNameJQ" style="width:100%" placeholder="企业名称" @keyup.enter.native="submitSearch" />
</div>
</el-col>
</el-row>
<template v-if="showMore">
<el-row>
<el-col :span="8">
<div class="search-field">
<p>管理片区:
<!-- 包括下属片区:<el-checkbox v-model="searchForm.checked" />-->
</p>
<el-cascader
v-model="searchForm.regulatory"
:show-all-levels="false"
size="mini"
class="custom"
style="width: 100%"
:options="bustypeOptions"
:props="{ checkStrictly: true }"
clearable
filterable
/>
</div>
</el-col>
<el-col :span="8">
<div class="search-field">
<p>登记机关:</p>
<el-cascader
v-model="searchForm.regorg"
:show-all-levels="false"
size="mini"
class="custom"
style="width: 100%"
:options="REGORGList"
:props="{ checkStrictly: true }"
clearable
filterable
/>
<!-- <el-select v-model="searchForm.regorg" style="width: 100%" filterable clearable size="mini" placeholder="请选择" class="custom">
<el-option
v-for="item in REGORGList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select> -->
</div>
</el-col>
<el-col :span="8">
<div class="search-field">
<p>法定代表人:</p>
<el-input v-model.trim="searchForm.name" placeholder="法定代表人" @keyup.enter.native="submitSearch" />
</div>
</el-col>
<el-col :span="8">
<div class="search-field">
<p>主体类型:</p>
<el-select v-model="searchForm.enttype" style="width: 100%" clearable size="mini" placeholder="请选择" class="custom">
<el-option
v-for="item in ENTTYPEList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</div>
</el-col>
<el-col :span="8">
<div class="search-field">
<p>主体状态(国标):</p>
<el-select v-model="searchForm.regstate" style="width: 100%" clearable size="mini" placeholder="请选择" class="custom">
<el-option
v-for="item in REGSTATEList"
:key="item.code"
:label="item.name"
:value="item.code"
/>
</el-select>
</div>
</el-col>
<el-col :span="8">
<div class="search-field">
<p>主体状态(市标):</p>
<el-select v-model="searchForm.entStatus" style="width: 100%" clearable size="mini" placeholder="请选择" class="custom">
<el-option
v-for="item in entStatusList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</div>
</el-col>
<!-- <el-col :span="8">-->
<!-- <div class="search-field">-->
<!-- <p>行业类别:</p>-->
<!-- <el-select v-model="searchForm.industryphy" style="width: 100%" clearable size="mini" placeholder="请选择" class="custom">-->
<!-- <el-option-->
<!-- v-for="item in INDUSTRYPHYList"-->
<!-- :key="item.code"-->
<!-- :label="item.name"-->
<!-- :value="item.code"-->
<!-- />-->
<!-- </el-select>-->
<!-- </div>-->
<!-- </el-col>-->
<!-- <el-col :span="8">
<div class="search-field">
<p>管理类别:</p>
<el-select v-model="searchForm.manageType" style="width: 100%" clearable size="mini" placeholder="请选择" class="custom">
<el-option
v-for="item in manageTypeList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</div>
</el-col> -->
<el-col :span="8">
<div class="search-field">
<p>经营地址:</p>
<el-input v-model="searchForm.dom" style="width:100%" placeholder="经营地址" @keyup.enter.native="submitSearch" />
</div>
</el-col>
<el-col :span="8">
<div class="search-field">
<p>经营范围:</p>
<el-input v-model="searchForm.opscope" placeholder="经营范围" @keyup.enter.native="submitSearch" />
</div>
</el-col>
<!-- <el-col :span="8">
<div class="search-field">
<p>实际经营项目:</p>
<el-input v-model="searchForm.businessName" placeholder="实际经营项目" @keyup.enter.native="submitSearch" />
</div>
</el-col> -->
<el-col :span="8">
<div class="search-field">
<p>成立日期:</p>
<el-date-picker
v-model="searchForm.establishDate"
size="mini"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
style="width:100%"
/>
</div>
</el-col>
<el-col :span="8">
<div class="search-field">
<p>核准日期:</p>
<el-date-picker
v-model="searchForm.apprDate"
size="mini"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
style="width:100%"
/>
</div>
</el-col>
<!-- <el-col :span="8">
<div class="search-field">
<p>注销日期:</p>
<el-date-picker
v-model="searchForm.changeDate"
size="mini"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
style="width:100%"
/>
</div>
</el-col> -->
<!-- <el-col :span="8">
<div class="search-field">
<p>变更日期:</p>
<el-date-picker
v-model="searchForm.changeDate"
size="mini"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
style="width:100%"
/>
</div>
</el-col> -->
<!-- <el-col :span="8">
<div class="search-field">
<p>检查人员:</p>
<el-input v-model="searchForm.checkPeople" placeholder="检查人员" @keyup.enter.native="submitSearch" />
</div>
</el-col> -->
<!-- <el-col :span="8">-->
<!-- <div class="search-field">-->
<!-- <p>认领情况:</p>-->
<!-- <el-select v-model="searchForm.noClaim" style="width: 100%" clearable size="mini" placeholder="请选择" class="custom">-->
<!-- <el-option-->
<!-- v-for="item in noClaimList"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- />-->
<!-- </el-select>-->
<!-- </div>-->
<!-- </el-col>-->
<!-- <el-col :span="8">
<div class="search-field">
<p style="width: 220px;">实际经营项目备注:</p>
<el-input v-model="searchForm.businessNameRemark" placeholder="实际经营项目备注" @keyup.enter.native="submitSearch" />
</div>
</el-col> -->
<el-col :span="8">
<div class="search-field">
<p>风险监管级别:</p>
<el-select v-model="searchForm.risklevel" style="width: 100%" clearable size="mini" placeholder="请选择" class="custom">
<el-option
v-for="item in risklevelList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</div>
</el-col>
<!-- <el-col :span="8">-->
<!-- <div class="search-field">-->
<!-- <p>监管检查结果:</p>-->
<!-- <el-select v-model="searchForm.checkRs" style="width: 100%" clearable size="mini" placeholder="请选择" class="custom">-->
<!-- <el-option-->
<!-- v-for="item in checkRsList"-->
<!-- :key="item.code"-->
<!-- :label="item.name"-->
<!-- :value="item.code"-->
<!-- />-->
<!-- </el-select>-->
<!-- </div>-->
<!-- </el-col>-->
<!-- <el-col :span="8">
<div class="search-field">
<p>是否年检验照:</p>
<el-select v-model="searchForm.isnjyz" style="width: 100%" clearable size="mini" placeholder="请选择" class="custom">
<el-option
v-for="item in isnjyzList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</div>
</el-col> -->
<!-- <el-col :span="8">
<div class="search-field">
<p>是否无照经营:</p>
<el-select v-model="searchForm.iswzjy" style="width: 100%" clearable size="mini" placeholder="请选择" class="custom">
<el-option
v-for="item in iswzjyList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</div>
</el-col> -->
<!-- <el-col :span="8">
<div class="search-field">
<p>是否国家局执照:</p>
<el-select v-model="searchForm.license" style="width: 100%" clearable size="mini" placeholder="请选择" class="custom">
<el-option
v-for="item in licenseList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</div>
</el-col> -->
<!-- <el-col :span="8">
<div class="search-field">
<p>是否省局执照:</p>
<el-select v-model="searchForm.license" style="width: 100%" clearable size="mini" placeholder="请选择" class="custom">
<el-option
v-for="item in licenseList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</div>
</el-col> -->
<el-col :span="24">
<div class="search-field">
<p style="width: 130px">名单类型:</p>
<el-radio v-model="searchForm.type" label="wnbSdcw" @change="bbb">未年报且通过登记住所无法联系的</el-radio>
<el-radio v-model="searchForm.type" label="wnb2" @change="bbb">连续两年未年报</el-radio>
<!-- <el-radio v-model="searchForm.type" label="wnb5">连续5年未年报</el-radio> -->
<el-radio v-model="searchForm.type" label="abn" @change="bbb">因实地查无或通过登记住所无法联系被列异超过两年的</el-radio>
</div>
</el-col>
<el-col v-if="tableFlag == true" :span="16">
<div class="search-field">
<p style="width: 130px">企业类型:</p>
<el-radio v-model="searchForm.isGRDZ" label="GRDZ">个人独资企业</el-radio>
<el-radio v-model="searchForm.isGRDZ" label="NOGRDZ">除个人独资企业外</el-radio>
</div>
</el-col>
</el-row>
<!-- 信用修复查询条件-->
<el-row>
<!-- <el-col :span="8">-->
<!-- <div class="search-field">-->
<!-- <p>信用修复日期</p>-->
<!-- <el-date-picker-->
<!-- v-model="searchForm.searchRemDate"-->
<!-- size="mini"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- type="daterange"-->
<!-- range-separator="至"-->
<!-- start-placeholder="开始日期"-->
<!-- end-placeholder="结束日期"-->
<!-- style="width:100%"-->
<!-- />-->
<!-- </div>-->
<!-- </el-col>-->
<!-- 5.30 316-330添加 -->
<el-col :span="8">
<div class="search-field">
<p>是否年报: </p>
<el-select v-model="searchForm.isnb" clearable>
<el-option value="y" label="是" />
<el-option value="n" label="否" />
</el-select>
<el-date-picker
v-model="searchForm.nbyear"
value-format="yyyy"
type="year"
placeholder="选择年"
/>
<!-- <div v-if="showReportYear">-->
<!-- <el-select v-model="searchForm.yearReport" size="small" >-->
<!-- <el-option v-for="(item,i) in searchForm.years" :key="i" :label="item.label" :value="item.value" />-->
<!-- </el-select>-->
<!-- </div>-->
</div>
</el-col>
<el-col :span="8">
<div class="search-field">
<p>是否经营异常: </p>
<el-select v-model="searchForm.isabn" clearable>
<el-option value="1" label="是" />
<el-option value="0" label="否" />
</el-select>
</div>
</el-col>
</el-row>
</template>
</div>
<div v-if="showMore" class="func-box">
<div class="btn-box">
<span v-if="showMore" class="arrow" @click="showMore = !showMore"><i class="el-icon-arrow-up" />隐藏</span>
<span v-if="!showMore" class="arrow" @click="showMore = !showMore"><i class="el-icon-arrow-down" />展开</span>
<el-button type="primary" icon="el-icon-search" size="mini" :loading="loading" @click="submitSearch">查询</el-button>
<el-button type="info" icon="el-icon-refresh-left" size="mini" @click="resetForm">重置</el-button>
</div>
</div>
<el-table
v-loading="loading"
:data="tableData"
:row-class-name="tableRowClassName"
:header-cell-style="{background:'#8cc3fb',color:'#fff'}"
@row-click="rowClick"
>
<el-table-column label="序号" prop="index" min-width="50" />
<el-table-column label="统一社会信用代码/注册号" min-width="100" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.uniscid && scope.row.uniscid.length > 0 ? scope.row.uniscid: scope.row.regno }}
</template>
</el-table-column>
<el-table-column label="主体名称" prop="entname" min-width="120" show-overflow-tooltip />
<el-table-column label="法定代表人/负责人" prop="name" show-overflow-tooltip />
<el-table-column label="经营地址" prop="dom" show-overflow-tooltip />
<el-table-column label="企业类型" prop="enttypeCn" show-overflow-tooltip />
<!-- <el-table-column label="经营期限" prop="opto" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.opto ? scope.row.opto: '长期' }}
</template>
</el-table-column> -->
<!-- <el-table-column label="信用等级" /> -->
<el-table-column label="风险等级" prop="level" min-width="60" show-overflow-tooltip />
</el-table>
<div class="page-box">
<el-row>
<el-col :span="6">
<el-button type="primary" @click="$router.back()">返回</el-button>
<el-button v-if="this.$util.isNotEmpty(searchType) && searchType !== undefined" :disabled="tableData.length == 0" type="primary" @click="revokeEntListExport">导出Excel</el-button>
<el-button v-else type="primary" @click="openDialog">导出Excel</el-button>
</el-col>
<el-col :span="18" style="text-align:right">
<el-pagination
:disabled="loading"
:page-size="pageParam.pageSize"
:total="pageParam.total"
:page-sizes="[10, 20, 30, 40,50,100,200]"
:current-page="pageParam.curPage"
layout="slot,total, sizes, prev, pager, next, jumper"
@size-change="pageSizeChange"
@current-change="pageIndexChange"
>
<!-- <batchFunction :options="options" style="float:left" /> -->
<span>
第 {{ pageParam.curPage }} 页 /
共 {{ (pageParam.total !== 0 ? parseInt((pageParam.total + pageParam.pageSize - 1)/pageParam.pageSize) : 1) }} 页
</span>
</el-pagination>
</el-col>
</el-row>
</div>
<el-dialog title="请选择需要导出的字段" :visible.sync="isExport" width="90%">
<el-checkbox v-model="checkAll" :indeterminate="isIndeterminate" @change="handleCheckAllChange">全选</el-checkbox>
<el-checkbox-group v-model="checkedfields" @change="handleCheckedCitiesChange">
<el-checkbox v-for="each in fields" :key="each" style="margin: 15px;" :label="each">{{ each }}</el-checkbox>
</el-checkbox-group>
<el-button v-loading="exportLoading" type="primary" @click="exportData">确认导出</el-button>
</el-dialog>
</div>
</template>
<script>
import { getBaseCodeList } from '@/api/constant'
import { getConstant, getOrgTreeList, getSliceTreeList } from '@/api/system'
import { comprehensiveQuery, revokeEntListExport, exportInfo, checkExportNum } from '@/api/entBase'
export default {
data() {
return {
value: '',
exportLoading: false,
isIndeterminate: false,
checkAll: false,
checkedfields: [],
fields: ['统一社会信用代码', '主体名称', '注册号', '市场主体类型', '成立日期', '登记机关', '登记状态', '住所', '经营范围', '法人名称',
'联络人', '联络人电话', '是否列严', '是否列异', '是否年报'],
isExport: false,
// 搜索条件
showMore: false,
bustypeOptions: [],
searchForm: {
specause: '',
searchDate: '',
checked: '',
regulatory: '',
searchUscc: '',
entName: '',
entNameJQ: '',
dom: '',
name: '',
checkPeople: '',
opscope: '',
businessName: '',
businessNameRemark: '',
industryphy: '',
regorg: '',
manageType: '',
isnjyz: '',
noClaim: '',
risklevel: '',
checkRs: '',
establishDate: '',
apprDate: '',
changeDate: '',
enttype: '',
regstate: '',
entStatus: '',
license: '',
iswzjy: '',
type: '',
searchRemDate: '',
nbyear: '',
isnb: '',
isabn: ''
},
INDUSTRYPHYList: [],
regOrgOptions: [],
REGORGList: [],
reasonList: [],
manageTypeList: [],
isnjyzList: [{
value: '0',
label: '否'
}, {
value: '1',
label: '是'
}],
noClaimList: [{
value: '0',
label: '未认领'
}, {
value: '1',
label: '已认领'
}],
risklevelList: [{
value: '高风险',
label: '高风险'
}, {
value: '较高风险',
label: '较高风险'
}, {
value: '中风险',
label: '中风险'
}, {
value: '低风险',
label: '低风险'
}],
checkRsList: [],
ENTTYPEList: [{
value: 'individual',
label: '个体工商户'
}, {
value: 'farmer',
label: '农民专业合作社'
}, {
value: 'company',
label: '企业'
}],
REGSTATEList: [],
licenseList: [{
value: '0',
label: '否'
}, {
value: '1',
label: '是'
}],
iswzjyList: [{
value: '0',
label: '否'
}, {
value: '1',
label: '是'
}],
// 搜索结果
tableData: [],
pageParam: {
curPage: 1,
pageSize: 10,
total: 0,
customParamMap: {}
},
loading: false,
searchType: '',
tableFlag: false,
exportQueryData: {}, // 导出excel的查询条件, 用于导出excel, 每轮查询成功后赋值
entStatusList: []
}
},
mounted() {
// this.getYear()
this.getCache()
// this.pageParam.customParamMap = {
// ...this.$route.query
// }
// if (this.$route.query.type) {
// this.searchForm.type = this.$route.query.type
// }
if (this.$route.query.pripid) {
var pid = this.$route.query.pripid
var shrink = this.$route.query.shrink
this.$router.push({
path: '/comprehensive/details', query: { pripid: pid, shrink: shrink } // 少带了shrink参数
})
}
getSliceTreeList().then(res => {
if (res.code === 0) {
this.bustypeOptions = res.data
}
})
getOrgTreeList().then(res => {
if (res.code === 0) {
this.REGORGList.push({
id: '150000',
label: '内蒙古自治区市场监督管理局',
value: '150000',
children: res.data
})
}
})
// 获取登记机关
// getRegOrgList().then(res => {
// if (res.code === 0) {
// this.REGORGList = res.data
// }
// })
// getDataType('registration').then(res => {
// if (res.code === 0) {
// this.REGORGList = res.data
// }
// })
// 获取行业门类
getBaseCodeList('CA05').then(res => {
if (res.code === 0) {
this.INDUSTRYPHYList = res.data
}
})
// 监管检查结果
getBaseCodeList('CD29').then(res => {
if (res.code === 0) {
this.checkRsList = res.data
}
})
// 监管业务状态
getBaseCodeList('CA19').then(res => {
if (res.code === 0) {
this.REGSTATEList = res.data
}
})
this.entStatusList = this.$util.getEntstatusList()
// 获取列异原因
this.getDifferList()
this.pageParam.customParamMap = this.$route.query
// this.searchType = this.pageParam.customParamMap.type
// this.isGRDZ = this.pageParam.customParamMap.isGRDZ
// this.submitSearch()
},
methods: {
bbb() {
if (this.searchForm.type !== '') {
this.tableFlag = true
}
},
getCache() {
const pageParam = sessionStorage.getItem('pageParam-ztcx')
const tableData = sessionStorage.getItem('tableData-ztcx')
if (pageParam) {
this.pageParam = JSON.parse(pageParam)
this.searchForm = this.pageParam.customParamMap
}
if (tableData) {
this.tableData = JSON.parse(tableData)
}
},
// getYear() {
// var y = new Date().getFullYear()
// for (let i = 0; i <= 5; i++) {
// if (i < 5) {
// this.searchForm.years.unshift({ value: (y - i), label: (y - i) })
// } else {
// for (let i = 1; i < 6; i++) {
// this.searchForm.years.push({ value: (y + i), label: (y + i) })
// }
// }
// }
// },
download2(data, fileName) {
if (!data) {
return
}
const url = window.URL.createObjectURL(new Blob([data], { type: 'application/vnd.ms-excel;charset=utf-8' }))
// window.open(url)
const link = document.createElement('a')
link.style.display = 'none'
link.href = url
link.setAttribute('download', fileName)
// document.body.appendChild(link)
link.click()
},
exportData() {
// if (this.checkedfields.length === 0) return this.$message.warning('导出的列不能为空')
// const pripids = []
// this.tableData.forEach(each => {
// pripids.push(each.pripid)
// })
this.exportLoading = true
// this.searchForm.filedList = this.checkedfields
// this.pageParam.customParamMap = this.searchForm
// this.searchType = this.pageParam.customParamMap.type
// this.isGRDZ = this.pageParam.customParamMap.isGRDZ
// if (this.$util.isNotEmpty(this.searchType)) {
// if (this.$util.isEmpty(this.isGRDZ)) {
// this.loading = false
// return this.$message.warning('请选择企业类型')
// }
// }
// if (this.$util.isNotEmpty(this.isGRDZ)) {
// if (this.$util.isEmpty(this.searchType)) {
// this.loading = false
// return this.$message.warning('请选择名单类型')
// }
// }
// if (!this.showReportYear) {
// this.searchForm.yearReport = ''
// }
const data = JSON.parse(JSON.stringify(this.exportQueryData))
data.customParamMap.filedList = this.checkedfields
checkExportNum(data).then(res => {
const num = res.data
if (num > 50000) {
this.exportLoading = false
return this.$message.warning('导出数量不能大于5万')
} else {
exportInfo(data).then(res => {
this.exportLoading = false
this.download2(res, '主体名单.xlsx')
}).catch(req => {
this.exportLoading = false
})
}
})
},
openDialog() {
if (this.tableData.length === 0) {
return this.$message.warning('没有可导出的数据')
}
this.isExport = true
},
handleCheckAllChange(val) {
this.checkedfields = val ? this.fields : []
this.isIndeterminate = false
},
handleCheckedCitiesChange(value) {
const checkedCount = value.length
this.checkAll = checkedCount === this.fields.length
this.isIndeterminate = checkedCount > 0 && checkedCount < this.fields.length
},
// 批吊相关条件类型企业清单导出
revokeEntListExport() {
if (this.searchType === 'wnb2') {
this.openDialog()
} else {
this.$confirm('是否确认导出', '提示', {
closeOnClickModal: false,
showClose: false,
beforeClose: (action, instance, done) => {
if (action === 'confirm') {
const data = JSON.parse(JSON.stringify(this.exportQueryData))
instance.confirmButtonLoading = true
instance.confirmButtonText = '正在导出,请稍后。'
revokeEntListExport(data).then((res) => {
if (instance.confirmButtonLoading) {
const { data, headers } = res
let filename = '查询结果.xlsx'
try {
filename = decodeURIComponent(headers['content-disposition'].match(/filename=(.*?)$/)[1])
} catch (e) {
console.log(e)
}
const element = document.createElement('a')
element.href = URL.createObjectURL(data)
element.download = filename
element.target = '_blank'
element.click()
done()
}
}).finally(() => {
instance.confirmButtonText = '确认'
instance.confirmButtonLoading = false
})
} else if (action === 'cancel') {
instance.confirmButtonLoading = false
done()
}
}
})
}
},
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 === 1) {
return 'warning-row'
}
},
rowClick(row, column, event) {
this.$router.push({ path: '/comprehensive/details', query: { pripid: row.pripid }})
// const { href } = this.$router.resolve({ path: '/market/search/result/detail', query: { pripid: row.pripid }})
// window.open(href)
},
// 当前分页改变
pageIndexChange(curPage) {
this.pageParam.curPage = curPage
this.loadPage()
},
// 分页大小改变
pageSizeChange(pageSize) {
this.pageParam.pageSize = pageSize
this.loadPage()
},
submitSearch() {
this.exportQueryData = null
this.pageParam.curPage = 1
this.loadPage()
},
// 加载分页
loadPage() {
if (this.loading) return
let data = {}
if (this.exportQueryData != null && Object.keys(this.exportQueryData).length !== 0) { // 是否存在查询参数
this.exportQueryData.curPage = this.pageParam.curPage
this.exportQueryData.pageSize = this.pageParam.pageSize
data = JSON.parse(JSON.stringify(this.exportQueryData))
} else {
this.pageParam.customParamMap = this.searchForm
this.searchType = this.pageParam.customParamMap.type
this.isGRDZ = this.pageParam.customParamMap.isGRDZ
if (this.$util.isNotEmpty(this.searchForm.isnb)) {
if (this.$util.isEmpty(this.searchForm.nbyear)) {
this.loading = false
return this.$message.warning('请选择年报年份')
}
}
if (this.$util.isNotEmpty(this.searchType)) {
if (this.$util.isEmpty(this.isGRDZ)) {
this.loading = false
return this.$message.warning('请选择企业类型')
}
}
if (this.$util.isNotEmpty(this.isGRDZ)) {
if (this.$util.isEmpty(this.searchType)) {
this.loading = false
return this.$message.warning('请选择名单类型')
}
}
if (!this.showReportYear) {
this.searchForm.yearReport = ''
}
data = JSON.parse(JSON.stringify(this.pageParam))
}
// 判断是否填写了条件
let flag = false
// obj的遍历
Object.keys(data.customParamMap).forEach(key => {
if (key === 'regorg' || key === 'regulatory') {
if (data.customParamMap[key].length > 0) {
flag = true
}
} else {
if (data.customParamMap[key] !== '' && data.customParamMap[key] !== null) {
flag = true
}
}
})
if (!flag) {
this.$message({
message: '请至少填写一个查询条件!',
type: 'warning'
})
return
}
this.loading = true
comprehensiveQuery(data).then(res => {
this.loading = false
this.exportQueryData = JSON.parse(JSON.stringify(data))
if (res.code === 0) {
const data = res.data
const list = []
let index = (this.pageParam.curPage - 1) * this.pageParam.pageSize
data.records.forEach(each => {
each.index = ++index
list.push(each)
})
this.tableData = list
this.pageParam.total = data.total
// this.pageParam.curPage = 1
sessionStorage.setItem('pageParam-ztcx', JSON.stringify(this.pageParam))
sessionStorage.setItem('tableData-ztcx', JSON.stringify(this.tableData))
}
})
},
getDifferList() {
getConstant('CD71').then(res => {
if (res.code === 0) {
const list = []
res.data.forEach(each => {
list.push({
value: each.code,
label: each.name
})
})
this.reasonList = list
}
})
},
resetForm() {
this.tableFlag = false
for (const key in this.searchForm) {
this.$set(this.searchForm, key, '')
}
}
}
}
</script>
<style lang="scss" scoped>
.content{
background: #fff;
.el-table .warning-row {
background: #eaf4fe!important;
}
}
/* 搜索条件 */
.main-content{
>div:not(:first-child){
margin-top:16px;
}
.search-box{
padding:10px 0;
.search-field{
display:flex;
width:100%;
>p{
margin:3px 16px 10px 0;
font-family: Microsoft YaHei, Microsoft YaHei-Bold;
color: #666;
font-size:16PX;
width:200px;
text-align: right;
}
}
.el-col{
margin-bottom:15px;
}
}
.btn-box{
text-align:right;
}
.main-body{
padding:16px 0;
border-top: 1px dashed #70AEFF;
.header{
.header-label{
font-size: 20PX;
font-family: Microsoft YaHei, Microsoft YaHei-Bold;
font-weight: bold;
color: #243668;
line-height: 32px;
}
}
}
}
/deep/.el-input__inner{
height: 28px;
}
/deep/.el-input__icon{
line-height: 28px;
}
.arrow{
color: #3296FA;
cursor: pointer;
margin-right: 16px;
}
.market.search-result{
.el-table__row{
cursor: pointer;
}
}
</style>