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

@@ -0,0 +1,126 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { CreditProject, CreditProjectParam } from './model';
/**
* 分页查询招投标
*/
export async function pageCreditProject(params: CreditProjectParam) {
const res = await request.get<ApiResult<PageResult<CreditProject>>>(
'/credit/credit-project/page',
{
params
}
);
if (res.data.code === 0) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 查询招投标列表
*/
export async function listCreditProject(params?: CreditProjectParam) {
const res = await request.get<ApiResult<CreditProject[]>>(
'/credit/credit-project',
{
params
}
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 添加招投标
*/
export async function addCreditProject(data: CreditProject) {
const res = await request.post<ApiResult<unknown>>(
'/credit/credit-project',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 修改招投标
*/
export async function updateCreditProject(data: CreditProject) {
const res = await request.put<ApiResult<unknown>>(
'/credit/credit-project',
data
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 删除招投标
*/
export async function removeCreditProject(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
'/credit/credit-project/' + id
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 批量删除招投标
*/
export async function removeBatchCreditProject(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
'/credit/credit-project/batch',
{
data
}
);
if (res.data.code === 0) {
return res.data.message;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 根据id查询招投标
*/
export async function getCreditProject(id: number) {
const res = await request.get<ApiResult<CreditProject>>(
'/credit/credit-project/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
}
return Promise.reject(new Error(res.data.message));
}
/**
* 导入招投标
*/
export async function importCreditProject(file: File) {
const formData = new FormData();
formData.append('file', file);
const res = await request.post<ApiResult<unknown>>(
'/credit/credit-project/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));
}