feat(credit): 企业详情页面增加子表数据导入功能

- 为18个信用相关API的导入方法添加companyId参数支持
- 在企业详情页面的各个子表tab中添加导入和刷新按钮
- 创建credit-company-related-import组件实现统一的导入弹窗
- 新增taxpayerCode字段到用户信息模型中
- 移除企业详情页面中冗余的描述项注释代码
- 实现基于企业ID或纳税人识别号的数据加载缓存机制
- 添加导入模板下载功能和文件类型验证
This commit is contained in:
2026-01-05 12:17:59 +08:00
parent 90aaeef018
commit 74b06dbc17
21 changed files with 402 additions and 165 deletions

View File

@@ -107,9 +107,12 @@ export async function getCreditBreachOfTrust(id: number) {
/**
* 导入失信被执行人
*/
export async function importCreditBreachOfTrust(file: File) {
export async function importCreditBreachOfTrust(file: File, companyId?: number) {
const formData = new FormData();
formData.append('file', file);
if (companyId != null) {
formData.append('companyId', String(companyId));
}
const res = await request.post<ApiResult<unknown>>(
'/credit/credit-breach-of-trust/import',
formData,

View File

@@ -107,9 +107,12 @@ export async function getCreditCaseFiling(id: number) {
/**
* 导入司法大数据
*/
export async function importCreditCaseFiling(file: File) {
export async function importCreditCaseFiling(file: File, companyId?: number) {
const formData = new FormData();
formData.append('file', file);
if (companyId != null) {
formData.append('companyId', String(companyId));
}
const res = await request.post<ApiResult<unknown>>(
'/credit/credit-case-filing/import',
formData,

View File

@@ -107,9 +107,12 @@ export async function getCreditCompetitor(id: number) {
/**
* 导入竞争对手
*/
export async function importCreditCompetitor(file: File) {
export async function importCreditCompetitor(file: File, companyId?: number) {
const formData = new FormData();
formData.append('file', file);
if (companyId != null) {
formData.append('companyId', String(companyId));
}
const res = await request.post<ApiResult<unknown>>(
'/credit/credit-competitor/import',
formData,

View File

@@ -107,9 +107,12 @@ export async function getCreditCourtAnnouncement(id: number) {
/**
* 导入法院公告司法大数据
*/
export async function importCreditCourtAnnouncement(file: File) {
export async function importCreditCourtAnnouncement(file: File, companyId?: number) {
const formData = new FormData();
formData.append('file', file);
if (companyId != null) {
formData.append('companyId', String(companyId));
}
const res = await request.post<ApiResult<unknown>>(
'/credit/credit-court-announcement/import',
formData,

View File

@@ -107,9 +107,12 @@ export async function getCreditCourtSession(id: number) {
/**
* 导入开庭公告司法大数据
*/
export async function importCreditCourtSession(file: File) {
export async function importCreditCourtSession(file: File, companyId?: number) {
const formData = new FormData();
formData.append('file', file);
if (companyId != null) {
formData.append('companyId', String(companyId));
}
const res = await request.post<ApiResult<unknown>>(
'/credit/credit-court-session/import',
formData,

View File

@@ -107,9 +107,12 @@ export async function getCreditCustomer(id: number) {
/**
* 导入客户
*/
export async function importCreditCustomer(file: File) {
export async function importCreditCustomer(file: File, companyId?: number) {
const formData = new FormData();
formData.append('file', file);
if (companyId != null) {
formData.append('companyId', String(companyId));
}
const res = await request.post<ApiResult<unknown>>(
'/credit/credit-customer/import',
formData,

View File

@@ -107,9 +107,12 @@ export async function getCreditDeliveryNotice(id: number) {
/**
* 导入送达公告司法大数据
*/
export async function importCreditDeliveryNotice(file: File) {
export async function importCreditDeliveryNotice(file: File, companyId?: number) {
const formData = new FormData();
formData.append('file', file);
if (companyId != null) {
formData.append('companyId', String(companyId));
}
const res = await request.post<ApiResult<unknown>>(
'/credit/credit-delivery-notice/import',
formData,

View File

@@ -107,9 +107,12 @@ export async function getCreditExternal(id: number) {
/**
* 导入对外投资
*/
export async function importCreditExternal(file: File) {
export async function importCreditExternal(file: File, companyId?: number) {
const formData = new FormData();
formData.append('file', file);
if (companyId != null) {
formData.append('companyId', String(companyId));
}
const res = await request.post<ApiResult<unknown>>(
'/credit/credit-external/import',
formData,

View File

@@ -107,9 +107,12 @@ export async function getCreditFinalVersion(id: number) {
/**
* 导入终本案件
*/
export async function importCreditFinalVersion(file: File) {
export async function importCreditFinalVersion(file: File, companyId?: number) {
const formData = new FormData();
formData.append('file', file);
if (companyId != null) {
formData.append('companyId', String(companyId));
}
const res = await request.post<ApiResult<unknown>>(
'/credit/credit-final-version/import',
formData,

View File

@@ -107,9 +107,12 @@ export async function getCreditGqdj(id: number) {
/**
* 导入股权冻结
*/
export async function importCreditGqdj(file: File) {
export async function importCreditGqdj(file: File, companyId?: number) {
const formData = new FormData();
formData.append('file', file);
if (companyId != null) {
formData.append('companyId', String(companyId));
}
const res = await request.post<ApiResult<unknown>>(
'/credit/credit-gqdj/import',
formData,

View File

@@ -107,9 +107,12 @@ export async function getCreditJudgmentDebtor(id: number) {
/**
* 导入被执行人
*/
export async function importCreditJudgmentDebtor(file: File) {
export async function importCreditJudgmentDebtor(file: File, companyId?: number) {
const formData = new FormData();
formData.append('file', file);
if (companyId != null) {
formData.append('companyId', String(companyId));
}
const res = await request.post<ApiResult<unknown>>(
'/credit/credit-judgment-debtor/import',
formData,

View File

@@ -107,9 +107,12 @@ export async function getCreditJudicialDocument(id: number) {
/**
* 导入裁判文书司法大数据
*/
export async function importCreditJudicialDocument(file: File) {
export async function importCreditJudicialDocument(file: File, companyId?: number) {
const formData = new FormData();
formData.append('file', file);
if (companyId != null) {
formData.append('companyId', String(companyId));
}
const res = await request.post<ApiResult<unknown>>(
'/credit/credit-judicial-document/import',
formData,

View File

@@ -107,9 +107,12 @@ export async function getCreditJudiciary(id: number) {
/**
* 导入司法案件
*/
export async function importCreditJudiciaries(file: File) {
export async function importCreditJudiciaries(file: File, companyId?: number) {
const formData = new FormData();
formData.append('file', file);
if (companyId != null) {
formData.append('companyId', String(companyId));
}
const res = await request.post<ApiResult<unknown>>(
'/credit/credit-judiciary/import',
formData,

View File

@@ -107,9 +107,12 @@ export async function getCreditMediation(id: number) {
/**
* 导入诉前调解司法大数据
*/
export async function importCreditMediation(file: File) {
export async function importCreditMediation(file: File, companyId?: number) {
const formData = new FormData();
formData.append('file', file);
if (companyId != null) {
formData.append('companyId', String(companyId));
}
const res = await request.post<ApiResult<unknown>>(
'/credit/credit-mediation/import',
formData,

View File

@@ -107,9 +107,12 @@ export async function getCreditProject(id: number) {
/**
* 导入招投标
*/
export async function importCreditProject(file: File) {
export async function importCreditProject(file: File, companyId?: number) {
const formData = new FormData();
formData.append('file', file);
if (companyId != null) {
formData.append('companyId', String(companyId));
}
const res = await request.post<ApiResult<unknown>>(
'/credit/credit-project/import',
formData,

View File

@@ -107,9 +107,12 @@ export async function getCreditRiskRelation(id: number) {
/**
* 导入风险关系表
*/
export async function importCreditRiskRelation(file: File) {
export async function importCreditRiskRelation(file: File, companyId?: number) {
const formData = new FormData();
formData.append('file', file);
if (companyId != null) {
formData.append('companyId', String(companyId));
}
const res = await request.post<ApiResult<unknown>>(
'/credit/credit-risk-relation/import',
formData,

View File

@@ -107,9 +107,12 @@ export async function getCreditSupplier(id: number) {
/**
* 导入供应商
*/
export async function importCreditSupplier(file: File) {
export async function importCreditSupplier(file: File, companyId?: number) {
const formData = new FormData();
formData.append('file', file);
if (companyId != null) {
formData.append('companyId', String(companyId));
}
const res = await request.post<ApiResult<unknown>>(
'/credit/credit-supplier/import',
formData,

View File

@@ -107,9 +107,12 @@ export async function getCreditXgxf(id: number) {
/**
* 导入限制高消费
*/
export async function importCreditXgxf(file: File) {
export async function importCreditXgxf(file: File, companyId?: number) {
const formData = new FormData();
formData.append('file', file);
if (companyId != null) {
formData.append('companyId', String(companyId));
}
const res = await request.post<ApiResult<unknown>>(
'/credit/credit-xgxf/import',
formData,

View File

@@ -37,6 +37,8 @@ export interface PageParam {
tenantId?: number;
// 企业ID
companyId?: number;
// 企业税号/统一社会信用代码
taxpayerCode?: string;
// 商户ID
merchantId?: number;
merchantName?: string;