From c29daa5293a42f7fe1561aee3c8c10206e81f13f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Mon, 2 Mar 2026 14:47:10 +0800 Subject: [PATCH] =?UTF-8?q?feat(credit):=20=E6=B7=BB=E5=8A=A0=E5=8E=86?= =?UTF-8?q?=E5=8F=B2=E5=8F=B8=E6=B3=95=E6=95=B0=E6=8D=AE=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增立案信息历史数据导入API和组件 - 新增送达公告历史数据导入API和组件 - 新增诉前调解历史数据导入API和组件 - 在企业详情页面添加各类型历史数据导入按钮 - 实现Excel文件上传和模板下载功能 - 添加文件类型和大小验证机制 --- src/api/credit/creditCaseFiling/index.ts | 27 +++++ src/api/credit/creditDeliveryNotice/index.ts | 27 +++++ src/api/credit/creditMediation/index.ts | 27 +++++ .../credit-case-filing-history-import.vue | 98 ++++++++++++++++ .../components/creditCompanyInfo.vue | 105 ++++++++++++++++++ .../credit-delivery-notice-history-import.vue | 98 ++++++++++++++++ .../credit-mediation-history-import.vue | 98 ++++++++++++++++ 7 files changed, 480 insertions(+) create mode 100644 src/views/credit/creditCaseFiling/components/credit-case-filing-history-import.vue create mode 100644 src/views/credit/creditDeliveryNotice/components/credit-delivery-notice-history-import.vue create mode 100644 src/views/credit/creditMediation/components/credit-mediation-history-import.vue diff --git a/src/api/credit/creditCaseFiling/index.ts b/src/api/credit/creditCaseFiling/index.ts index ac5c122..0bc0985 100644 --- a/src/api/credit/creditCaseFiling/index.ts +++ b/src/api/credit/creditCaseFiling/index.ts @@ -127,3 +127,30 @@ export async function importCreditCaseFiling(file: File, companyId?: number) { } return Promise.reject(new Error(res.data.message)); } + +/** + * 导入历史立案信息司法大数据 + */ +export async function importCreditCaseFilingHistory( + 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>( + '/credit/credit-case-filing/import/history', + formData, + { + headers: { + 'Content-Type': 'multipart/form-data' + } + } + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} diff --git a/src/api/credit/creditDeliveryNotice/index.ts b/src/api/credit/creditDeliveryNotice/index.ts index eab9130..4dc53b6 100644 --- a/src/api/credit/creditDeliveryNotice/index.ts +++ b/src/api/credit/creditDeliveryNotice/index.ts @@ -134,3 +134,30 @@ export async function importCreditDeliveryNotice( } return Promise.reject(new Error(res.data.message)); } + +/** + * 导入历史送达公告司法大数据 + */ +export async function importCreditDeliveryNoticeHistory( + 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>( + '/credit/credit-delivery-notice/import/history', + formData, + { + headers: { + 'Content-Type': 'multipart/form-data' + } + } + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} diff --git a/src/api/credit/creditMediation/index.ts b/src/api/credit/creditMediation/index.ts index 8925142..1904008 100644 --- a/src/api/credit/creditMediation/index.ts +++ b/src/api/credit/creditMediation/index.ts @@ -125,3 +125,30 @@ export async function importCreditMediation(file: File, companyId?: number) { } return Promise.reject(new Error(res.data.message)); } + +/** + * 导入历史诉前调解司法大数据 + */ +export async function importCreditMediationHistory( + 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>( + '/credit/credit-mediation/import/history', + formData, + { + headers: { + 'Content-Type': 'multipart/form-data' + } + } + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} diff --git a/src/views/credit/creditCaseFiling/components/credit-case-filing-history-import.vue b/src/views/credit/creditCaseFiling/components/credit-case-filing-history-import.vue new file mode 100644 index 0000000..8924deb --- /dev/null +++ b/src/views/credit/creditCaseFiling/components/credit-case-filing-history-import.vue @@ -0,0 +1,98 @@ + + + + + diff --git a/src/views/credit/creditCompany/components/creditCompanyInfo.vue b/src/views/credit/creditCompany/components/creditCompanyInfo.vue index ed37bf0..4a6a426 100644 --- a/src/views/credit/creditCompany/components/creditCompanyInfo.vue +++ b/src/views/credit/creditCompany/components/creditCompanyInfo.vue @@ -135,6 +135,39 @@ 导入历史裁判文书 + + + 导入历史立案信息 + + + + 导入历史诉前调解 + + + + 导入历史送达公告 + + + + + + + + + + { + if (!form.id) { + message.error('缺少企业ID,无法导入'); + return; + } + showCaseFilingHistoryImport.value = true; + }; + + const handleCaseFilingHistoryImportDone = () => { + resetTabPagination('立案信息'); + reloadTab('立案信息'); + }; + + // 历史诉前调解导入弹窗(企业详情-诉前调解tab) + const showMediationHistoryImport = ref(false); + + const openMediationHistoryImport = () => { + if (!form.id) { + message.error('缺少企业ID,无法导入'); + return; + } + showMediationHistoryImport.value = true; + }; + + const handleMediationHistoryImportDone = () => { + resetTabPagination('诉前调解'); + reloadTab('诉前调解'); + }; + + // 历史送达公告导入弹窗(企业详情-送达公告tab) + const showDeliveryNoticeHistoryImport = ref(false); + + const openDeliveryNoticeHistoryImport = () => { + if (!form.id) { + message.error('缺少企业ID,无法导入'); + return; + } + showDeliveryNoticeHistoryImport.value = true; + }; + + const handleDeliveryNoticeHistoryImportDone = () => { + resetTabPagination('送达公告'); + reloadTab('送达公告'); + }; + // 历史行政许可导入弹窗(企业详情-行政许可tab) const showAdministrativeLicenseHistoryImport = ref(false); diff --git a/src/views/credit/creditDeliveryNotice/components/credit-delivery-notice-history-import.vue b/src/views/credit/creditDeliveryNotice/components/credit-delivery-notice-history-import.vue new file mode 100644 index 0000000..634416a --- /dev/null +++ b/src/views/credit/creditDeliveryNotice/components/credit-delivery-notice-history-import.vue @@ -0,0 +1,98 @@ + + + + + diff --git a/src/views/credit/creditMediation/components/credit-mediation-history-import.vue b/src/views/credit/creditMediation/components/credit-mediation-history-import.vue new file mode 100644 index 0000000..8b4d1c5 --- /dev/null +++ b/src/views/credit/creditMediation/components/credit-mediation-history-import.vue @@ -0,0 +1,98 @@ + + + + +