抽取企业详情组件
This commit is contained in:
270
project/xiushan/components/enterpriseDialog.vue
Normal file
270
project/xiushan/components/enterpriseDialog.vue
Normal file
@@ -0,0 +1,270 @@
|
||||
<template>
|
||||
<section class="enterpriseDialog">
|
||||
<div class="top">
|
||||
<div class="top-left">{{ info.subEnterpriseName }}</div>
|
||||
<div class="top-right">
|
||||
<div class="top-right__top">
|
||||
<h2>{{ info.enterpriseName }}</h2>
|
||||
<!-- <div class="right">
|
||||
<span>下载报告</span>
|
||||
</div> -->
|
||||
</div>
|
||||
<div class="top-right__bottom">
|
||||
<ai-wrapper
|
||||
label-width="130px">
|
||||
<ai-info-item label="法人姓名:"><span style="color: #1890FF;">{{ info.legalPersonName }}</span></ai-info-item>
|
||||
<ai-info-item label="企业类型:" :value="dict.getLabel('enterpriseType', info.enterpriseType)"></ai-info-item>
|
||||
<ai-info-item label="统一社会信用代码:" :value="info.unifiedCode"></ai-info-item>
|
||||
<ai-info-item label="地址:" isLine :value="info.areaName + info.address"></ai-info-item>
|
||||
<ai-info-item label="经营范围:" isLine :value="info.businessScope"></ai-info-item>
|
||||
</ai-wrapper>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<div class="tab">
|
||||
<span :class="[currIndex === 0 ? 'active' : '']" @click="currIndex = 0">行政许可</span>
|
||||
<span :class="[currIndex === 1 ? 'active' : '']" @click="currIndex = 1">行政处罚</span>
|
||||
<span :class="[currIndex === 2 ? 'active' : '']" @click="currIndex = 2">良好信息</span>
|
||||
<span :class="[currIndex === 3 ? 'active' : '']" @click="currIndex = 3">失信信息</span>
|
||||
</div>
|
||||
<div class="table">
|
||||
<template v-if="currIndex === 0">
|
||||
<ai-table :dict="dict" :tableData="info.adminstrativeLicenseList" :col-configs="colConfigs1"
|
||||
:isShowPagination="false" border tableSize="small" @getList="() => {}"/>
|
||||
</template>
|
||||
<ai-table :dict="dict"
|
||||
v-if="currIndex === 1"
|
||||
:tableData="info.administrativeSanctionList"
|
||||
:col-configs="colConfigs2"
|
||||
:isShowPagination="false"
|
||||
border
|
||||
tableSize="small"
|
||||
@getList="() => {}"/>
|
||||
<ai-table :dict="dict"
|
||||
v-if="currIndex === 2"
|
||||
:tableData="info.taxInfoList"
|
||||
:col-configs="colConfigs3"
|
||||
:isShowPagination="false"
|
||||
border
|
||||
tableSize="small"
|
||||
@getList="() => {}"/>
|
||||
<div class="table-item" v-if="currIndex==3">
|
||||
<h2>失信被执行人信息</h2>
|
||||
<ai-table :dict="dict" :tableData="info.dishonestPersonList" :col-configs="colConfigs4"
|
||||
:isShowPagination="false" border tableSize="small" @getList="() => {}"/>
|
||||
<h2 style="margin-top: 30px;">公共事业欠缴费信息</h2>
|
||||
<ai-table :dict="dict" :tableData="info.puaInfoList" :col-configs="colConfigs5"
|
||||
:isShowPagination="false" border tableSize="small" @getList="() => {}"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {mapState} from "vuex";
|
||||
|
||||
export default {
|
||||
name: "enterpriseDialog",
|
||||
computed: {
|
||||
...mapState(['user']),
|
||||
isFinanceUser() {
|
||||
return !!this.user.financeUser?.id
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
info: {},
|
||||
currIndex: 0,
|
||||
colConfigs1: [
|
||||
{prop: 'licenseCode', label: '行政许可决定文书号'},
|
||||
{prop: 'decisionDate', align: 'center', label: '许可决定日期'},
|
||||
{prop: 'endDate', align: 'center', label: '许可有效期至'},
|
||||
{prop: 'licenseOrganization', align: 'center', label: '许可机关'},
|
||||
{prop: 'licenseContent', align: 'center', label: '许可内容'},
|
||||
{prop: 'createTime', align: 'center', label: '数据更新时间'}
|
||||
],
|
||||
colConfigs2: [
|
||||
{prop: 'sanctionCode', width: '190', label: '行政处罚决定文书号'},
|
||||
{prop: 'sanctionDate', align: 'center', label: '处罚决定日期'},
|
||||
{prop: 'sanctionType', align: 'center', label: '处罚类型', dict: "administrativeSanctionType"},
|
||||
{prop: 'sanctionContent', align: 'center', label: '处罚内容'},
|
||||
{prop: 'sanctionBasis', align: 'center', label: '处罚依据'},
|
||||
{prop: 'sanctionOrganization', align: 'center', label: '处罚机关'},
|
||||
{prop: 'createTime', align: 'center', label: '数据更新时间'}
|
||||
],
|
||||
colConfigs3: [
|
||||
{prop: 'taxpayer', label: '纳税人名称'},
|
||||
{prop: 'taxpayerNumber', align: 'center', label: '纳税人识别号'},
|
||||
{prop: 'taxLevel', align: 'center', label: '纳税人等级'},
|
||||
{prop: 'taxYear', align: 'center', label: '年份'},
|
||||
{prop: 'evaluationUnit', align: 'center', label: '评价单位'},
|
||||
{prop: 'createTime', align: 'center', label: '数据更新时间'}
|
||||
],
|
||||
colConfigs4: [
|
||||
{prop: 'executionCode', label: '执行案号'},
|
||||
{prop: 'executionTime', align: 'center', label: '执行时间'},
|
||||
{prop: 'dishonestFact', align: 'center', label: '失信事实'},
|
||||
{prop: 'executionSituation', align: 'center', label: '履行情况', dict: "dishonestPersonSituation"},
|
||||
{prop: 'executionCourt', align: 'center', label: '执行法院'},
|
||||
{prop: 'executionTime', align: 'center', label: '数据更新时间'}
|
||||
],
|
||||
colConfigs5: [
|
||||
{prop: 'arrearsAmount', label: '欠费金额(万元)'},
|
||||
{prop: 'arrearsType', align: 'center', label: '欠缴类型名称', dict: "arrearsType"},
|
||||
{prop: 'deadlineForArrearsStatistics', align: 'center', label: '欠缴统计截止日期'},
|
||||
{prop: 'dishonestySeverity', align: 'center', label: '失信严重程度', dict: "dishonestySeverity"},
|
||||
{prop: 'validityPeriodOfDishonesty', align: 'center', label: '失信行为有效期'},
|
||||
{prop: 'sourceOrganization', align: 'center', label: '数据来源机构'},
|
||||
{prop: 'createTime', align: 'center', label: '数据更新时间'}
|
||||
]
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.dict.load("dishonestPersonSituation", "administrativeSanctionType", "enterpriseType", 'arrearsType', 'dishonestySeverity')
|
||||
this.getCompanyInfo()
|
||||
},
|
||||
methods: {
|
||||
getCompanyInfo() {
|
||||
let {enterpriseId: id} = this
|
||||
this.instance.post(`/appportaluserenterprise/queryCreditEnterpriseDetailById`, null, {
|
||||
withoutToken: true,
|
||||
params: {id}
|
||||
}).then(res => {
|
||||
if (res?.data) {
|
||||
this.info = res.data
|
||||
this.info.subEnterpriseName = res.data.enterpriseName.substr(0, 4)
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
props: {
|
||||
instance: Function,
|
||||
dict: Object,
|
||||
permissions: Function,
|
||||
enterpriseId: {required: true, default: ""}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.enterpriseDialog {
|
||||
.table-item {
|
||||
h2 {
|
||||
margin-bottom: 16px;
|
||||
color: #333333;
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
|
||||
.top {
|
||||
display: flex;
|
||||
margin-bottom: 20px;
|
||||
padding: 34px 30px 16px;
|
||||
border: 1px solid #EEEEEE;
|
||||
border-radius: 4px;
|
||||
|
||||
.top-left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-shrink: 1;
|
||||
width: 88px;
|
||||
height: 87px;
|
||||
line-height: 1.3;
|
||||
margin-right: 31px;
|
||||
padding: 0 16px;
|
||||
text-align: justify;
|
||||
background: #8CA3CD;
|
||||
color: #FFFFFF;
|
||||
font-size: 22px;
|
||||
letter-spacing: 6px;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.top-right {
|
||||
flex: 1;
|
||||
|
||||
.top-right__top {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 27px;
|
||||
|
||||
h2 {
|
||||
color: #333333;
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
.right {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 97px;
|
||||
height: 32px;
|
||||
background: #E8F4FF;
|
||||
border: 1px solid #A3D3FF;
|
||||
border-radius: 3px;
|
||||
color: #1890FF;
|
||||
font-size: 13px;
|
||||
cursor: pointer;
|
||||
|
||||
&:hover {
|
||||
opacity: 0.6;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.top-right__bottom {
|
||||
padding: 16px 10px 10px 0;
|
||||
background: #F6FBFF;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.bottom {
|
||||
padding-bottom: 20px;
|
||||
border: 1px solid #DCDFE6;
|
||||
border-radius: 4px;
|
||||
|
||||
.tab {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 60px;
|
||||
margin-bottom: 15px;
|
||||
background: #FAFAFA;
|
||||
border-radius: 4px;
|
||||
|
||||
span {
|
||||
flex: 1;
|
||||
height: 100%;
|
||||
line-height: 60px;
|
||||
text-align: center;
|
||||
color: #555555;
|
||||
font-size: 16px;
|
||||
cursor: pointer;
|
||||
border-bottom: 1px solid #DCDFE6;
|
||||
border-right: 1px solid #DCDFE6;
|
||||
transition: all ease 0.3s;
|
||||
user-select: none;
|
||||
|
||||
&:last-child {
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
&.active {
|
||||
border-bottom: 1px solid transparent;
|
||||
background: #fff;
|
||||
color: #1890FF;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.table {
|
||||
padding: 0 16px;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user