261 lines
		
	
	
		
			7.9 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			261 lines
		
	
	
		
			7.9 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
| <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">
 | |
|         <ai-table :dict="dict"
 | |
|                   v-show="currIndex === 0"
 | |
|                   :tableData="info.adminstrativeLicenseList"
 | |
|                   :col-configs="colConfigs1"
 | |
|                   :isShowPagination="false"
 | |
|                   border
 | |
|                   tableSize="small"
 | |
|                   @getList="() => {}">
 | |
|         </ai-table>
 | |
|         <ai-table :dict="dict"
 | |
|                   v-show="currIndex === 1"
 | |
|                   :tableData="info.administrativeSanctionList"
 | |
|                   :col-configs="colConfigs2"
 | |
|                   :isShowPagination="false"
 | |
|                   border
 | |
|                   tableSize="small"
 | |
|                   @getList="() => {}">
 | |
|         </ai-table>
 | |
|         <ai-table :dict="dict"
 | |
|                   v-show="currIndex === 2"
 | |
|                   :tableData="info.taxInfoList"
 | |
|                   :col-configs="colConfigs3"
 | |
|                   :isShowPagination="false"
 | |
|                   border
 | |
|                   tableSize="small"
 | |
|                   @getList="() => {}">
 | |
|         </ai-table>
 | |
|         <ai-table :dict="dict"
 | |
|                   v-show="currIndex === 3"
 | |
|                   :tableData="info.dishonestPersonList"
 | |
|                   :col-configs="colConfigs4"
 | |
|                   :isShowPagination="false"
 | |
|                   border
 | |
|                   tableSize="small"
 | |
|                   @getList="() => {}">
 | |
|         </ai-table>
 | |
|       </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: '数据更新时间'}
 | |
|       ],
 | |
|     }
 | |
|   },
 | |
|   created() {
 | |
|     this.dict.load("dishonestPersonSituation", "administrativeSanctionType")
 | |
|     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 {
 | |
|   .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>
 |