aiccs/src/views/comprehensive/result.vue

989 lines
35 KiB
Vue
Raw Normal View History

2025-12-27 16:40:23 +08:00
<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>
2025-12-27 16:40:23 +08:00
<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>-->
2025-12-27 16:40:23 +08:00
<!-- <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>-->
2025-12-27 16:40:23 +08:00
<!-- <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>-->
2025-12-27 16:40:23 +08:00
<!-- <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>-->
2025-12-27 16:40:23 +08:00
<!-- 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="否" />
2025-12-27 16:40:23 +08:00
</el-select>
<el-date-picker
v-model="searchForm.nbyear"
value-format="yyyy"
type="year"
placeholder="选择年"
/>
2025-12-27 16:40:23 +08:00
<!-- <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="否" />
2025-12-27 16:40:23 +08:00
</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>
2025-12-27 16:40:23 +08:00
<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: ['统一社会信用代码', '主体名称', '注册号', '市场主体类型', '成立日期', '登记机关', '登记状态', '住所', '经营范围', '法人名称',
'联络人', '联络人电话', '是否列严', '是否列异', '是否年报'],
2025-12-27 16:40:23 +08:00
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',
2025-12-27 16:40:23 +08:00
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()
2025-12-27 16:40:23 +08:00
// 获取列异原因
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 !== '') {
2025-12-27 16:40:23 +08:00
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
2025-12-27 16:40:23 +08:00
// 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) { // 是否存在查询参数
2025-12-27 16:40:23 +08:00
this.exportQueryData.curPage = this.pageParam.curPage
this.exportQueryData.pageSize = this.pageParam.pageSize
data = JSON.parse(JSON.stringify(this.exportQueryData))
} else {
2025-12-27 16:40:23 +08:00
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
2025-12-27 16:40:23 +08:00
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>