From ebdc9b59336de4f2fadb315bf0c5cadc193f6364 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Sun, 21 Dec 2025 21:22:11 +0800 Subject: [PATCH] =?UTF-8?q?feat(credit):=20=E6=B7=BB=E5=8A=A0=E5=AE=A2?= =?UTF-8?q?=E6=88=B7=E7=AE=A1=E7=90=86=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增客户数据模型定义 - 实现客户分页查询、列表查询、新增、修改、删除等API接口 - 创建客户管理页面,包含表格展示、编辑弹窗、搜索功能 - 添加客户编辑表单,支持客户信息的录入与修改 - 实现客户数据的状态管理与操作功能 - 优化开庭公告等模块的字段命名与代码结构 - 统一导入导出功能组件的使用方式 - 修复被告/被上诉人字段绑定错误的问题 --- src/api/credit/creditCustomer/index.ts | 105 ++++++ src/api/credit/creditCustomer/model/index.ts | 45 +++ .../components/creditBreachOfTrustEdit.vue | 4 +- .../credit/creditBreachOfTrust/index.vue | 102 +++--- .../components/creditCaseFilingEdit.vue | 4 +- .../creditCourtAnnouncementEdit.vue | 4 +- .../components/creditCourtSessionEdit.vue | 24 +- src/views/credit/creditCourtSession/index.vue | 234 +++++++------- .../components/creditCustomerEdit.vue | 260 +++++++++++++++ .../creditCustomer/components/search.vue | 42 +++ src/views/credit/creditCustomer/index.vue | 301 ++++++++++++++++++ .../credit-delivery-notice-import.vue | 96 ++++++ .../components/creditDeliveryNoticeEdit.vue | 4 +- .../credit/creditDeliveryNotice/index.vue | 149 ++++----- .../components/credit-external-import.vue | 96 ++++++ src/views/credit/creditExternal/index.vue | 165 +++++----- .../credit-final-version-import.vue | 96 ++++++ .../components/creditFinalVersionEdit.vue | 4 +- src/views/credit/creditFinalVersion/index.vue | 147 ++++----- .../components/credit-gqdj-import.vue | 96 ++++++ .../creditGqdj/components/creditGqdjEdit.vue | 4 +- src/views/credit/creditGqdj/index.vue | 146 ++++----- .../credit-judgment-debtor-import.vue | 96 ++++++ .../credit/creditJudgmentDebtor/index.vue | 136 ++++---- .../credit-judicial-document-import.vue | 96 ++++++ .../components/creditJudicialDocumentEdit.vue | 4 +- .../credit/creditJudicialDocument/index.vue | 149 ++++----- .../components/credit-mediation-import.vue | 96 ++++++ .../components/creditMediationEdit.vue | 4 +- src/views/credit/creditMediation/index.vue | 146 ++++----- .../components/credit-project-import.vue | 96 ++++++ src/views/credit/creditProject/index.vue | 160 +++++----- .../credit-risk-relation-import.vue | 96 ++++++ .../components/credit-supplier-import.vue | 96 ++++++ .../components/credit-xgxf-import.vue | 96 ++++++ .../creditXgxf/components/creditXgxfEdit.vue | 4 +- src/views/credit/creditXgxf/index.vue | 146 ++++----- 37 files changed, 2691 insertions(+), 858 deletions(-) create mode 100644 src/api/credit/creditCustomer/index.ts create mode 100644 src/api/credit/creditCustomer/model/index.ts create mode 100644 src/views/credit/creditCustomer/components/creditCustomerEdit.vue create mode 100644 src/views/credit/creditCustomer/components/search.vue create mode 100644 src/views/credit/creditCustomer/index.vue create mode 100644 src/views/credit/creditDeliveryNotice/components/credit-delivery-notice-import.vue create mode 100644 src/views/credit/creditExternal/components/credit-external-import.vue create mode 100644 src/views/credit/creditFinalVersion/components/credit-final-version-import.vue create mode 100644 src/views/credit/creditGqdj/components/credit-gqdj-import.vue create mode 100644 src/views/credit/creditJudgmentDebtor/components/credit-judgment-debtor-import.vue create mode 100644 src/views/credit/creditJudicialDocument/components/credit-judicial-document-import.vue create mode 100644 src/views/credit/creditMediation/components/credit-mediation-import.vue create mode 100644 src/views/credit/creditProject/components/credit-project-import.vue create mode 100644 src/views/credit/creditRiskRelation/components/credit-risk-relation-import.vue create mode 100644 src/views/credit/creditSupplier/components/credit-supplier-import.vue create mode 100644 src/views/credit/creditXgxf/components/credit-xgxf-import.vue diff --git a/src/api/credit/creditCustomer/index.ts b/src/api/credit/creditCustomer/index.ts new file mode 100644 index 0000000..f9ed22d --- /dev/null +++ b/src/api/credit/creditCustomer/index.ts @@ -0,0 +1,105 @@ +import request from '@/utils/request'; +import type { ApiResult, PageResult } from '@/api'; +import type { CreditCustomer, CreditCustomerParam } from './model'; + +/** + * 分页查询客户 + */ +export async function pageCreditCustomer(params: CreditCustomerParam) { + const res = await request.get>>( + '/credit/credit-customer/page', + { + params + } + ); + if (res.data.code === 0) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 查询客户列表 + */ +export async function listCreditCustomer(params?: CreditCustomerParam) { + const res = await request.get>( + '/credit/credit-customer', + { + params + } + ); + if (res.data.code === 0 && res.data.data) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 添加客户 + */ +export async function addCreditCustomer(data: CreditCustomer) { + const res = await request.post>( + '/credit/credit-customer', + data + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 修改客户 + */ +export async function updateCreditCustomer(data: CreditCustomer) { + const res = await request.put>( + '/credit/credit-customer', + data + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 删除客户 + */ +export async function removeCreditCustomer(id?: number) { + const res = await request.delete>( + '/credit/credit-customer/' + id + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 批量删除客户 + */ +export async function removeBatchCreditCustomer(data: (number | undefined)[]) { + const res = await request.delete>( + '/credit/credit-customer/batch', + { + data + } + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 根据id查询客户 + */ +export async function getCreditCustomer(id: number) { + const res = await request.get>( + '/credit/credit-customer/' + id + ); + if (res.data.code === 0 && res.data.data) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} diff --git a/src/api/credit/creditCustomer/model/index.ts b/src/api/credit/creditCustomer/model/index.ts new file mode 100644 index 0000000..6b943ba --- /dev/null +++ b/src/api/credit/creditCustomer/model/index.ts @@ -0,0 +1,45 @@ +import type { PageParam } from '@/api'; + +/** + * 客户 + */ +export interface CreditCustomer { + // ID + id?: number; + // 客户 + name?: string; + // 状态 + statusTxt?: string; + // 销售金额(万元) + price?: string; + // 公开日期 + publicDate?: string; + // 数据来源 + dataSource?: string; + // 备注 + comments?: string; + // 是否推荐 + recommend?: number; + // 排序(数字越小越靠前) + sortNumber?: number; + // 状态, 0正常, 1冻结 + status?: number; + // 是否删除, 0否, 1是 + deleted?: number; + // 用户ID + userId?: number; + // 租户id + tenantId?: number; + // 创建时间 + createTime?: string; + // 修改时间 + updateTime?: string; +} + +/** + * 客户搜索条件 + */ +export interface CreditCustomerParam extends PageParam { + id?: number; + keywords?: string; +} diff --git a/src/views/credit/creditBreachOfTrust/components/creditBreachOfTrustEdit.vue b/src/views/credit/creditBreachOfTrust/components/creditBreachOfTrustEdit.vue index 2109449..54ca53d 100644 --- a/src/views/credit/creditBreachOfTrust/components/creditBreachOfTrustEdit.vue +++ b/src/views/credit/creditBreachOfTrust/components/creditBreachOfTrustEdit.vue @@ -37,7 +37,7 @@ @@ -188,7 +188,7 @@ id: undefined, dataType: undefined, plaintiffAppellant: undefined, - defendant appellee: undefined, + appellee: undefined, otherPartiesThirdParty: undefined, occurrenceTime: undefined, caseNumber: undefined, diff --git a/src/views/credit/creditBreachOfTrust/index.vue b/src/views/credit/creditBreachOfTrust/index.vue index 6adee4d..f69a18b 100644 --- a/src/views/credit/creditBreachOfTrust/index.vue +++ b/src/views/credit/creditBreachOfTrust/index.vue @@ -1,57 +1,58 @@ + diff --git a/src/views/credit/creditJudgmentDebtor/index.vue b/src/views/credit/creditJudgmentDebtor/index.vue index 6a1a749..1b7a842 100644 --- a/src/views/credit/creditJudgmentDebtor/index.vue +++ b/src/views/credit/creditJudgmentDebtor/index.vue @@ -17,6 +17,8 @@ @add="openEdit" @remove="removeBatch" @batchMove="openMove" + @importData="openImport" + @exportData="exportData" /> + diff --git a/src/views/credit/creditJudicialDocument/components/creditJudicialDocumentEdit.vue b/src/views/credit/creditJudicialDocument/components/creditJudicialDocumentEdit.vue index 360b5c2..35457c0 100644 --- a/src/views/credit/creditJudicialDocument/components/creditJudicialDocumentEdit.vue +++ b/src/views/credit/creditJudicialDocument/components/creditJudicialDocumentEdit.vue @@ -37,7 +37,7 @@ @@ -188,7 +188,7 @@ id: undefined, dataType: undefined, plaintiffAppellant: undefined, - defendant appellee: undefined, + appellee: undefined, otherPartiesThirdParty: undefined, occurrenceTime: undefined, caseNumber: undefined, diff --git a/src/views/credit/creditJudicialDocument/index.vue b/src/views/credit/creditJudicialDocument/index.vue index 346fdb7..556d1e0 100644 --- a/src/views/credit/creditJudicialDocument/index.vue +++ b/src/views/credit/creditJudicialDocument/index.vue @@ -17,6 +17,8 @@ @add="openEdit" @remove="removeBatch" @batchMove="openMove" + @importData="openImport" + @exportData="exportData" /> + diff --git a/src/views/credit/creditMediation/components/creditMediationEdit.vue b/src/views/credit/creditMediation/components/creditMediationEdit.vue index b2223d3..9f5c0f7 100644 --- a/src/views/credit/creditMediation/components/creditMediationEdit.vue +++ b/src/views/credit/creditMediation/components/creditMediationEdit.vue @@ -37,7 +37,7 @@ @@ -188,7 +188,7 @@ id: undefined, dataType: undefined, plaintiffAppellant: undefined, - defendant appellee: undefined, + appellee: undefined, otherPartiesThirdParty: undefined, occurrenceTime: undefined, caseNumber: undefined, diff --git a/src/views/credit/creditMediation/index.vue b/src/views/credit/creditMediation/index.vue index 74b4fbf..8801e48 100644 --- a/src/views/credit/creditMediation/index.vue +++ b/src/views/credit/creditMediation/index.vue @@ -17,6 +17,8 @@ @add="openEdit" @remove="removeBatch" @batchMove="openMove" + @importData="openImport" + @exportData="exportData" /> + diff --git a/src/views/credit/creditProject/index.vue b/src/views/credit/creditProject/index.vue index d0abfc2..55f79ee 100644 --- a/src/views/credit/creditProject/index.vue +++ b/src/views/credit/creditProject/index.vue @@ -17,6 +17,8 @@ @add="openEdit" @remove="removeBatch" @batchMove="openMove" + @importData="openImport" + @exportData="exportData" /> + diff --git a/src/views/credit/creditSupplier/components/credit-supplier-import.vue b/src/views/credit/creditSupplier/components/credit-supplier-import.vue new file mode 100644 index 0000000..e868db4 --- /dev/null +++ b/src/views/credit/creditSupplier/components/credit-supplier-import.vue @@ -0,0 +1,96 @@ + + + + + diff --git a/src/views/credit/creditXgxf/components/credit-xgxf-import.vue b/src/views/credit/creditXgxf/components/credit-xgxf-import.vue new file mode 100644 index 0000000..50764d0 --- /dev/null +++ b/src/views/credit/creditXgxf/components/credit-xgxf-import.vue @@ -0,0 +1,96 @@ + + + + + diff --git a/src/views/credit/creditXgxf/components/creditXgxfEdit.vue b/src/views/credit/creditXgxf/components/creditXgxfEdit.vue index d45099b..88a64bd 100644 --- a/src/views/credit/creditXgxf/components/creditXgxfEdit.vue +++ b/src/views/credit/creditXgxf/components/creditXgxfEdit.vue @@ -37,7 +37,7 @@ @@ -188,7 +188,7 @@ id: undefined, dataType: undefined, plaintiffAppellant: undefined, - defendant appellee: undefined, + appellee: undefined, otherPartiesThirdParty: undefined, occurrenceTime: undefined, caseNumber: undefined, diff --git a/src/views/credit/creditXgxf/index.vue b/src/views/credit/creditXgxf/index.vue index 5a67cc8..7763f78 100644 --- a/src/views/credit/creditXgxf/index.vue +++ b/src/views/credit/creditXgxf/index.vue @@ -17,6 +17,8 @@ @add="openEdit" @remove="removeBatch" @batchMove="openMove" + @importData="openImport" + @exportData="exportData" />