feat(credit): 新增企业信用管理模块

- 添加企业信息模型定义,包含企业基本信息、联系方式、行业分类等字段
- 实现企业信息的增删改查接口,支持分页查询和批量操作
- 开发企业信息管理页面,包含表格展示、搜索筛选功能
- 添加企业信息编辑弹窗,支持新增和修改企业信息
- 实现企业信息导入功能,支持Excel文件批量导入
- 添加企业信息导入模板下载功能
- 实现企业信息的状态管理和排序功能
- 添加企业信息的详情展示和操作按钮
- 实现企业信息的批量删除功能
- 添加企业信息的搜索功能,支持关键词模糊查询
This commit is contained in:
2025-12-21 20:47:20 +08:00
parent 5872043040
commit 3c8ede258c
89 changed files with 14378 additions and 171 deletions

View File

@@ -15,29 +15,14 @@
bordered
class="credit-company-descriptions"
>
<a-descriptions-item label="原文件导入名称">
{{ formatValue(form.name) }}
</a-descriptions-item>
<a-descriptions-item label="系统匹配企业名称">
<a-descriptions-item label="企业名称">
{{ formatValue(form.matchName) }}
</a-descriptions-item>
<a-descriptions-item label="统一社会信用代码">
{{ formatValue(form.code) }}
</a-descriptions-item>
<a-descriptions-item label="登记状态">
{{ formatValue(form.registrationStatus) }}
</a-descriptions-item>
<a-descriptions-item label="法定代表人">
{{ formatValue(form.legalPerson) }}
</a-descriptions-item>
<a-descriptions-item label="注册资本">
{{ formatValue(form.registeredCapital) }}
</a-descriptions-item>
<a-descriptions-item label="实缴资本">
{{ formatValue(form.paidinCapital) }}
</a-descriptions-item>
<a-descriptions-item label="成立日期">
{{ formatValue(form.establishDate) }}
<a-descriptions-item label="统一社会信用代码">
{{ formatValue(form.code) }}
</a-descriptions-item>
<a-descriptions-item label="企业地址">
{{ formatValue(form.address) }}
@@ -48,126 +33,145 @@
<a-descriptions-item label="更多电话">
{{ formatValue(form.moreTel) }}
</a-descriptions-item>
<a-descriptions-item label="邮箱">
{{ formatValue(form.email) }}
</a-descriptions-item>
<a-descriptions-item label="更多邮箱">
{{ formatValue(form.moreEmail) }}
</a-descriptions-item>
<a-descriptions-item label="所在国家">
{{ formatValue(form.country) }}
</a-descriptions-item>
<a-descriptions-item label="所属省份">
{{ formatValue(form.province) }}
</a-descriptions-item>
<a-descriptions-item label="所属城市">
{{ formatValue(form.city) }}
</a-descriptions-item>
<a-descriptions-item label="所属区县">
{{ formatValue(form.region) }}
</a-descriptions-item>
<a-descriptions-item label="企业(机构)类型">
{{ formatValue(form.institutionType) }}
</a-descriptions-item>
<a-descriptions-item label="纳税人识别号">
{{ formatValue(form.taxpayerCode) }}
</a-descriptions-item>
<a-descriptions-item label="注册号">
{{ formatValue(form.registrationNumber) }}
</a-descriptions-item>
<a-descriptions-item label="组织机构代码">
{{ formatValue(form.organizationalCode) }}
</a-descriptions-item>
<a-descriptions-item label="参保人数">
{{ formatValue(form.numberOfInsuredPersons) }}
</a-descriptions-item>
<a-descriptions-item label="参保人数所属年报">
{{ formatValue(form.annualReport) }}
</a-descriptions-item>
<a-descriptions-item label="营业期限">
{{ formatValue(form.businessTerm) }}
</a-descriptions-item>
<a-descriptions-item label="国标行业门类">
{{ formatValue(form.nationalStandardIndustryCategories) }}
</a-descriptions-item>
<a-descriptions-item label="国标行业大类">
{{ formatValue(form.nationalStandardIndustryCategories2) }}
</a-descriptions-item>
<a-descriptions-item label="国标行业中类">
{{ formatValue(form.nationalStandardIndustryCategories3) }}
</a-descriptions-item>
<a-descriptions-item label="国标行业小类">
{{ formatValue(form.nationalStandardIndustryCategories4) }}
</a-descriptions-item>
<a-descriptions-item label="企查查行业门类">
{{ formatValue(form.nationalStandardIndustryCategories5) }}
</a-descriptions-item>
<a-descriptions-item label="企查查行业大类">
{{ formatValue(form.nationalStandardIndustryCategories6) }}
</a-descriptions-item>
<a-descriptions-item label="企查查行业中类">
{{ formatValue(form.nationalStandardIndustryCategories7) }}
</a-descriptions-item>
<a-descriptions-item label="企查查行业小类">
{{ formatValue(form.nationalStandardIndustryCategories8) }}
</a-descriptions-item>
<a-descriptions-item label="企业规模">
{{ formatValue(form.companySize) }}
</a-descriptions-item>
<a-descriptions-item label="曾用名">
{{ formatValue(form.formerName) }}
</a-descriptions-item>
<a-descriptions-item label="英文名">
{{ formatValue(form.englishName) }}
</a-descriptions-item>
<a-descriptions-item label="官网">
{{ formatValue(form.domain) }}
</a-descriptions-item>
<a-descriptions-item label="通信地址">
{{ formatValue(form.mailingAddress) }}
</a-descriptions-item>
<a-descriptions-item label="企业简介">
{{ formatValue(form.companyProfile) }}
</a-descriptions-item>
<a-descriptions-item label="经营范围">
{{ formatValue(form.natureOfBusiness) }}
</a-descriptions-item>
<a-descriptions-item label="登记机关">
{{ formatValue(form.registrationAuthority) }}
</a-descriptions-item>
<a-descriptions-item label="纳税人资质">
{{ formatValue(form.taxpayerQualification) }}
</a-descriptions-item>
<a-descriptions-item label="最新年报年份">
{{ formatValue(form.latestAnnualReportYear) }}
</a-descriptions-item>
<a-descriptions-item label="最新年报营业收入">
{{ formatValue(form.latestAnnualReportOnOperatingRevenue) }}
</a-descriptions-item>
<a-descriptions-item label="企查分">
{{ formatValue(form.enterpriseScoreCheck) }}
</a-descriptions-item>
<a-descriptions-item label="信用等级">
{{ formatValue(form.creditRating) }}
</a-descriptions-item>
<a-descriptions-item label="科创分">
{{ formatValue(form.cechnologyScore) }}
</a-descriptions-item>
<a-descriptions-item label="科创等级">
{{ formatValue(form.cechnologyLevel) }}
</a-descriptions-item>
<a-descriptions-item label="是否小微企业">
{{ formatValue(form.smallEnterprise) }}
</a-descriptions-item>
<a-descriptions-item label="备注">
{{ formatValue(form.comments) }}
</a-descriptions-item>
<a-descriptions-item label="排序">
{{ formatValue(form.sortNumber) }}
</a-descriptions-item>
<a-descriptions-item label="状态">
{{ formatStatus(form.status) }}
</a-descriptions-item>
<!-- <a-descriptions-item label="登记状态">-->
<!-- {{ formatValue(form.registrationStatus) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="法定代表人">-->
<!-- {{ formatValue(form.legalPerson) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="注册资本">-->
<!-- {{ formatValue(form.registeredCapital) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="实缴资本">-->
<!-- {{ formatValue(form.paidinCapital) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="成立日期">-->
<!-- {{ formatValue(form.establishDate) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="更多电话">-->
<!-- {{ formatValue(form.moreTel) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="邮箱">-->
<!-- {{ formatValue(form.email) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="更多邮箱">-->
<!-- {{ formatValue(form.moreEmail) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="所在国家">-->
<!-- {{ formatValue(form.country) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="所属省份">-->
<!-- {{ formatValue(form.province) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="所属城市">-->
<!-- {{ formatValue(form.city) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="所属区县">-->
<!-- {{ formatValue(form.region) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="企业(机构)类型">-->
<!-- {{ formatValue(form.institutionType) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="纳税人识别号">-->
<!-- {{ formatValue(form.taxpayerCode) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="注册号">-->
<!-- {{ formatValue(form.registrationNumber) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="组织机构代码">-->
<!-- {{ formatValue(form.organizationalCode) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="参保人数">-->
<!-- {{ formatValue(form.numberOfInsuredPersons) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="参保人数所属年报">-->
<!-- {{ formatValue(form.annualReport) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="营业期限">-->
<!-- {{ formatValue(form.businessTerm) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="国标行业门类">-->
<!-- {{ formatValue(form.nationalStandardIndustryCategories) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="国标行业大类">-->
<!-- {{ formatValue(form.nationalStandardIndustryCategories2) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="国标行业中类">-->
<!-- {{ formatValue(form.nationalStandardIndustryCategories3) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="国标行业小类">-->
<!-- {{ formatValue(form.nationalStandardIndustryCategories4) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="企查查行业门类">-->
<!-- {{ formatValue(form.nationalStandardIndustryCategories5) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="企查查行业大类">-->
<!-- {{ formatValue(form.nationalStandardIndustryCategories6) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="企查查行业中类">-->
<!-- {{ formatValue(form.nationalStandardIndustryCategories7) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="企查查行业小类">-->
<!-- {{ formatValue(form.nationalStandardIndustryCategories8) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="企业规模">-->
<!-- {{ formatValue(form.companySize) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="曾用名">-->
<!-- {{ formatValue(form.formerName) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="英文名">-->
<!-- {{ formatValue(form.englishName) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="官网">-->
<!-- {{ formatValue(form.domain) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="通信地址">-->
<!-- {{ formatValue(form.mailingAddress) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="企业简介">-->
<!-- {{ formatValue(form.companyProfile) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="经营范围">-->
<!-- {{ formatValue(form.natureOfBusiness) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="登记机关">-->
<!-- {{ formatValue(form.registrationAuthority) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="纳税人资质">-->
<!-- {{ formatValue(form.taxpayerQualification) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="最新年报年份">-->
<!-- {{ formatValue(form.latestAnnualReportYear) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="最新年报营业收入">-->
<!-- {{ formatValue(form.latestAnnualReportOnOperatingRevenue) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="企查分">-->
<!-- {{ formatValue(form.enterpriseScoreCheck) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="信用等级">-->
<!-- {{ formatValue(form.creditRating) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="科创分">-->
<!-- {{ formatValue(form.cechnologyScore) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="科创等级">-->
<!-- {{ formatValue(form.cechnologyLevel) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="是否小微企业">-->
<!-- {{ formatValue(form.smallEnterprise) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="备注">-->
<!-- {{ formatValue(form.comments) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="排序">-->
<!-- {{ formatValue(form.sortNumber) }}-->
<!-- </a-descriptions-item>-->
<!-- <a-descriptions-item label="状态">-->
<!-- {{ formatStatus(form.status) }}-->
<!-- </a-descriptions-item>-->
</a-descriptions>
<a-divider style="margin: 16px 0" />
<a-tabs
@@ -175,11 +179,7 @@
type="card"
class="credit-company-tabs"
>
<a-tab-pane
v-for="tab in tabList"
:key="tab.key"
:tab="tab.label"
>
<a-tab-pane v-for="tab in tabList" :key="tab.key" :tab="tab.label">
<a-table
v-if="tabState[tab.key].columns.length"
size="small"
@@ -203,10 +203,10 @@
import { computed, reactive, ref, watch } from 'vue';
import { message } from 'ant-design-vue';
import { assignObject } from 'ele-admin-pro';
import { getCompanyRelatedInfo } from '@/api/credit/creditCompany';
import { CreditCompany } from '@/api/credit/creditCompany/model';
import { useThemeStore } from '@/store/modules/theme';
import { storeToRefs } from 'pinia';
import { pageCreditUser } from '@/api/credit/creditUser';
const props = defineProps<{
// 弹窗是否打开
@@ -350,15 +350,15 @@
return value;
};
const formatStatus = (status?: number) => {
if (status === 0) {
return '显示';
}
if (status === 1) {
return '隐藏';
}
return '-';
};
// const formatStatus = (status?: number) => {
// if (status === 0) {
// return '显示';
// }
// if (status === 1) {
// return '隐藏';
// }
// return '-';
// };
const getRowKey = (record: Record<string, any>, index: number) => {
return record.id ?? record.code ?? record.key ?? index;
@@ -389,21 +389,18 @@
};
const loadTabData = async (key: string) => {
const keyword = form.matchName ?? props.data?.matchName;
const keywords = form.matchName ?? props.data?.matchName;
const state = tabState[key];
if (!keyword) {
if (!keywords) {
state.data = [];
state.columns = [];
return;
}
state.loading = true;
try {
const list = await getCompanyRelatedInfo({
type: key,
keywords: keyword
});
state.data = list;
state.columns = buildColumns(list);
const res = await pageCreditUser({ keywords });
state.data = res?.list || [];
state.columns = buildColumns(state.data);
} catch (e: any) {
state.data = [];
state.columns = [];