267 lines
		
	
	
		
			8.8 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			267 lines
		
	
	
		
			8.8 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
| <template>
 | |
|   <section class="enterpriseDialog">
 | |
|     <div class="top">
 | |
|       <div class="top-left" v-html="txtLogo"/>
 | |
|       <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
 | |
|     },
 | |
|     txtLogo() {
 | |
|       return this.info.enterpriseName?.substring(0, 4)?.replace(/(.{2})(.{2})/, '$1<br/>$2') || ""
 | |
|     }
 | |
|   },
 | |
|   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
 | |
|         }
 | |
|       })
 | |
|     }
 | |
|   },
 | |
|   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 {
 | |
|       margin-right: 31px;
 | |
|       padding: 12px 16px;
 | |
|       background: #8CA3CD;
 | |
|       color: #FFFFFF;
 | |
|       font-size: 22px;
 | |
|       line-height: 30px;
 | |
|       letter-spacing: 4px;
 | |
|       border-radius: 8px;
 | |
|       height: fit-content;
 | |
|     }
 | |
| 
 | |
|     .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>
 |