From cea60d96d7e28743e858b832adff373bc06d65fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Wed, 17 Dec 2025 09:32:29 +0800 Subject: [PATCH] =?UTF-8?q?feat(credit):=20=E6=96=B0=E5=A2=9E=E4=BC=81?= =?UTF-8?q?=E4=B8=9A=E4=BF=A1=E7=94=A8=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 - 添加企业信息模型定义,包含企业基本信息、联系方式、行业分类等字段 - 实现企业信息的增删改查接口,支持分页查询和批量操作 - 开发企业信息管理页面,包含表格展示、搜索筛选功能 - 添加企业信息编辑弹窗,支持新增和修改企业信息 - 实现企业信息导入功能,支持Excel文件批量导入 - 添加企业信息导入模板下载功能 - 实现企业信息的状态管理和排序功能 - 添加企业信息的详情展示和操作按钮 - 实现企业信息的批量删除功能 - 添加企业信息的搜索功能,支持关键词模糊查询 --- src/api/credit/creditCompany/index.ts | 126 ++++ src/api/credit/creditCompany/model/index.ts | 135 ++++ .../components/credit-company-import.vue | 93 +++ .../components/creditCompanyEdit.vue | 612 +++++++++++++++++ .../creditCompany/components/search.vue | 90 +++ src/views/credit/creditCompany/index.vue | 627 ++++++++++++++++++ .../developer/components/CodeInfo.vue | 0 .../developer/components/ParamInfo.vue | 0 .../developer/components/ServerInfo.vue | 0 .../developer/components/TenantInfo.vue | 0 src/views/{ => system}/developer/index.vue | 23 +- 11 files changed, 1694 insertions(+), 12 deletions(-) create mode 100644 src/api/credit/creditCompany/index.ts create mode 100644 src/api/credit/creditCompany/model/index.ts create mode 100644 src/views/credit/creditCompany/components/credit-company-import.vue create mode 100644 src/views/credit/creditCompany/components/creditCompanyEdit.vue create mode 100644 src/views/credit/creditCompany/components/search.vue create mode 100644 src/views/credit/creditCompany/index.vue rename src/views/{ => system}/developer/components/CodeInfo.vue (100%) rename src/views/{ => system}/developer/components/ParamInfo.vue (100%) rename src/views/{ => system}/developer/components/ServerInfo.vue (100%) rename src/views/{ => system}/developer/components/TenantInfo.vue (100%) rename src/views/{ => system}/developer/index.vue (60%) diff --git a/src/api/credit/creditCompany/index.ts b/src/api/credit/creditCompany/index.ts new file mode 100644 index 0000000..5d3306e --- /dev/null +++ b/src/api/credit/creditCompany/index.ts @@ -0,0 +1,126 @@ +import request from '@/utils/request'; +import type { ApiResult, PageResult } from '@/api'; +import type { CreditCompany, CreditCompanyParam } from './model'; + +/** + * 分页查询企业 + */ +export async function pageCreditCompany(params: CreditCompanyParam) { + const res = await request.get>>( + '/credit/credit-company/page', + { + params + } + ); + if (res.data.code === 0) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 查询企业列表 + */ +export async function listCreditCompany(params?: CreditCompanyParam) { + const res = await request.get>( + '/credit/credit-company', + { + params + } + ); + if (res.data.code === 0 && res.data.data) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 添加企业 + */ +export async function addCreditCompany(data: CreditCompany) { + const res = await request.post>( + '/credit/credit-company', + data + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 修改企业 + */ +export async function updateCreditCompany(data: CreditCompany) { + const res = await request.put>( + '/credit/credit-company', + data + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 删除企业 + */ +export async function removeCreditCompany(id?: number) { + const res = await request.delete>( + '/credit/credit-company/' + id + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 批量删除企业 + */ +export async function removeBatchCreditCompany(data: (number | undefined)[]) { + const res = await request.delete>( + '/credit/credit-company/batch', + { + data + } + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 根据id查询企业 + */ +export async function getCreditCompany(id: number) { + const res = await request.get>( + '/credit/credit-company/' + id + ); + if (res.data.code === 0 && res.data.data) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 导入企业 + */ +export async function importCreditCompany(file: File) { + const formData = new FormData(); + formData.append('file', file); + const res = await request.post>( + '/credit/credit-company/import', + 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/creditCompany/model/index.ts b/src/api/credit/creditCompany/model/index.ts new file mode 100644 index 0000000..d5d8d42 --- /dev/null +++ b/src/api/credit/creditCompany/model/index.ts @@ -0,0 +1,135 @@ +import type { PageParam } from '@/api'; + +/** + * 企业 + */ +export interface CreditCompany { + // ID + id?: number; + // 原文件导入名称 + name?: string; + // 系统匹配企业名称 + matchName?: string; + // 统一社会信用代码 + code?: string; + // 类型 + type?: number; + // 上级id, 0是顶级 + parentId?: number; + // 登记状态 + registrationStatus?: string; + // 法定代表人 + legalPerson?: string; + // 注册资本 + registeredCapital?: string; + // 实缴资本 + paidinCapital?: string; + // 成立日期 + establishDate?: string; + // 企业地址 + address?: string; + // 电话 + tel?: string; + // 更多电话 + moreTel?: string; + // 邮箱 + email?: string; + // 更多邮箱 + moreEmail?: string; + // 所在国家 + country?: string; + // 所属省份 + province?: string; + // 所属城市 + city?: string; + // 所属区县 + region?: string; + // 企业(机构)类型 + institutionType?: string; + // 纳税人识别号 + taxpayerCode?: string; + // 注册号 + registrationNumber?: string; + // 组织机构代码 + organizationalCode?: string; + // 参保人数 + numberOfInsuredPersons?: string; + // 参保人数所属年报 + annualReport?: string; + // 营业期限 + businessTerm?: string; + // 国标行业门类 + nationalStandardIndustryCategories?: string; + // 国标行业大类 + nationalStandardIndustryCategories2?: string; + // 国标行业中类 + nationalStandardIndustryCategories3?: string; + // 国标行业小类 + nationalStandardIndustryCategories4?: string; + // 企查查行业门类 + nationalStandardIndustryCategories5?: string; + // 企查查行业大类 + nationalStandardIndustryCategories6?: string; + // 企查查行业中类 + nationalStandardIndustryCategories7?: string; + // 企查查行业小类 + nationalStandardIndustryCategories8?: string; + // 企业规模 + companySize?: string; + // 曾用名 + formerName?: string; + // 英文名 + englishName?: string; + // 官网 + domain?: string; + // 通信地址 + mailingAddress?: string; + // 企业简介 + companyProfile?: string; + // 经营范围 + natureOfBusiness?: string; + // 登记机关 + registrationAuthority?: string; + // 纳税人资质 + taxpayerQualification?: string; + // 最新年报年份 + latestAnnualReportYear?: string; + // 最新年报营业收入 + latestAnnualReportOnOperatingRevenue?: string; + // 企查分 + enterpriseScoreCheck?: string; + // 信用等级 + creditRating?: string; + // 科创分 + cechnologyScore?: string; + // 科创等级 + cechnologyLevel?: string; + // 是否小微企业 + smallEnterprise?: 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 CreditCompanyParam extends PageParam { + id?: number; + keywords?: string; +} diff --git a/src/views/credit/creditCompany/components/credit-company-import.vue b/src/views/credit/creditCompany/components/credit-company-import.vue new file mode 100644 index 0000000..5aae3e1 --- /dev/null +++ b/src/views/credit/creditCompany/components/credit-company-import.vue @@ -0,0 +1,93 @@ + + + + diff --git a/src/views/credit/creditCompany/components/creditCompanyEdit.vue b/src/views/credit/creditCompany/components/creditCompanyEdit.vue new file mode 100644 index 0000000..2af46e4 --- /dev/null +++ b/src/views/credit/creditCompany/components/creditCompanyEdit.vue @@ -0,0 +1,612 @@ + + + + diff --git a/src/views/credit/creditCompany/components/search.vue b/src/views/credit/creditCompany/components/search.vue new file mode 100644 index 0000000..00e4dd6 --- /dev/null +++ b/src/views/credit/creditCompany/components/search.vue @@ -0,0 +1,90 @@ + + + + diff --git a/src/views/credit/creditCompany/index.vue b/src/views/credit/creditCompany/index.vue new file mode 100644 index 0000000..f533719 --- /dev/null +++ b/src/views/credit/creditCompany/index.vue @@ -0,0 +1,627 @@ + + + + + + + diff --git a/src/views/developer/components/CodeInfo.vue b/src/views/system/developer/components/CodeInfo.vue similarity index 100% rename from src/views/developer/components/CodeInfo.vue rename to src/views/system/developer/components/CodeInfo.vue diff --git a/src/views/developer/components/ParamInfo.vue b/src/views/system/developer/components/ParamInfo.vue similarity index 100% rename from src/views/developer/components/ParamInfo.vue rename to src/views/system/developer/components/ParamInfo.vue diff --git a/src/views/developer/components/ServerInfo.vue b/src/views/system/developer/components/ServerInfo.vue similarity index 100% rename from src/views/developer/components/ServerInfo.vue rename to src/views/system/developer/components/ServerInfo.vue diff --git a/src/views/developer/components/TenantInfo.vue b/src/views/system/developer/components/TenantInfo.vue similarity index 100% rename from src/views/developer/components/TenantInfo.vue rename to src/views/system/developer/components/TenantInfo.vue diff --git a/src/views/developer/index.vue b/src/views/system/developer/index.vue similarity index 60% rename from src/views/developer/index.vue rename to src/views/system/developer/index.vue index 62368b7..489c921 100644 --- a/src/views/developer/index.vue +++ b/src/views/system/developer/index.vue @@ -4,13 +4,13 @@ - + - + - + @@ -19,16 +19,15 @@