From 89d359b40e0a2b39a694c3c5ad7410cca1eea5a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Tue, 16 Dec 2025 15:00:29 +0800 Subject: [PATCH] =?UTF-8?q?feat(shop):=20=E5=AE=8C=E5=96=84=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E5=8F=91=E8=B4=A7=E5=8A=9F=E8=83=BD=E5=8F=8A=E9=85=8D?= =?UTF-8?q?=E9=80=81=E6=96=B9=E5=BC=8F=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增发货备注、快递公司、发货人信息等字段 - 优化发货表单验证逻辑,支持不同配送方式的动态校验 - 新增配送方式为"商家送货"和"无需发货"的处理逻辑 - 完善订单详情页配送信息展示,增加发货店铺和无需发货备注显示 - 修复发货模态框中部分字段重置逻辑 - 调整开发环境API配置注释状态 --- src/api/credit/creditUser/index.ts | 126 +++++++ src/api/credit/creditUser/model/index.ts | 67 ++++ .../components/credit-user-import.vue | 93 +++++ .../creditUser/components/creditUserEdit.vue | 309 +++++++++++++++++ .../credit/creditUser/components/search.vue | 87 +++++ src/views/credit/creditUser/index.vue | 318 ++++++++++++++++++ 6 files changed, 1000 insertions(+) create mode 100644 src/api/credit/creditUser/index.ts create mode 100644 src/api/credit/creditUser/model/index.ts create mode 100644 src/views/credit/creditUser/components/credit-user-import.vue create mode 100644 src/views/credit/creditUser/components/creditUserEdit.vue create mode 100644 src/views/credit/creditUser/components/search.vue create mode 100644 src/views/credit/creditUser/index.vue diff --git a/src/api/credit/creditUser/index.ts b/src/api/credit/creditUser/index.ts new file mode 100644 index 0000000..581d78b --- /dev/null +++ b/src/api/credit/creditUser/index.ts @@ -0,0 +1,126 @@ +import request from '@/utils/request'; +import type { ApiResult, PageResult } from '@/api'; +import type { CreditUser, CreditUserParam } from './model'; + +/** + * 分页查询招投标信息表 + */ +export async function pageCreditUser(params: CreditUserParam) { + const res = await request.get>>( + '/credit/credit-user/page', + { + params + } + ); + if (res.data.code === 0) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 查询招投标信息表列表 + */ +export async function listCreditUser(params?: CreditUserParam) { + const res = await request.get>( + '/credit/credit-user', + { + params + } + ); + if (res.data.code === 0 && res.data.data) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 添加招投标信息表 + */ +export async function addCreditUser(data: CreditUser) { + const res = await request.post>( + '/credit/credit-user', + data + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 修改招投标信息表 + */ +export async function updateCreditUser(data: CreditUser) { + const res = await request.put>( + '/credit/credit-user', + data + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 删除招投标信息表 + */ +export async function removeCreditUser(id?: number) { + const res = await request.delete>( + '/credit/credit-user/' + id + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 批量删除招投标信息表 + */ +export async function removeBatchCreditUser(data: (number | undefined)[]) { + const res = await request.delete>( + '/credit/credit-user/batch', + { + data + } + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 根据id查询招投标信息表 + */ +export async function getCreditUser(id: number) { + const res = await request.get>( + '/credit/credit-user/' + id + ); + if (res.data.code === 0 && res.data.data) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + +/** + * 导入招投标 + */ +export async function importCreditUsers(file: File) { + const formData = new FormData(); + formData.append('file', file); + const res = await request.post>( + '/credit/credit-user/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/creditUser/model/index.ts b/src/api/credit/creditUser/model/index.ts new file mode 100644 index 0000000..d35de7c --- /dev/null +++ b/src/api/credit/creditUser/model/index.ts @@ -0,0 +1,67 @@ +import type { PageParam } from '@/api'; + +/** + * 招投标信息表 + */ +export interface CreditUser { + // ID + id?: number; + // 客户名称 + name?: string; + // 唯一标识 + code?: string; + // 类型, 0普通用户, 1招投标 + type?: number; + // 企业角色 + role?: string; + // 上级id, 0是顶级 + parentId?: number; + // 信息类型 + infoType?: string; + // 所在国家 + country?: string; + // 所在省份 + province?: string; + // 所在城市 + city?: string; + // 所在辖区 + region?: string; + // 街道地址 + address?: string; + // 招采单位名称 + procurementName?: string; + // 中标单位名称 + winningName?: string; + // 中标单位名称 + winningPrice?: string; + // 发布日期 + releaseDate?: string; + // 备注 + comments?: string; + // 是否推荐 + recommend?: number; + // 到期时间 + expirationTime?: string; + // 排序(数字越小越靠前) + sortNumber?: number; + // 状态, 0正常, 1冻结 + status?: number; + // 是否删除, 0否, 1是 + deleted?: number; + // 用户ID + userId?: number; + // 租户id + tenantId?: number; + // 创建时间 + createTime?: string; + // 修改时间 + updateTime?: string; +} + +/** + * 招投标信息表搜索条件 + */ +export interface CreditUserParam extends PageParam { + id?: number; + keywords?: string; +} diff --git a/src/views/credit/creditUser/components/credit-user-import.vue b/src/views/credit/creditUser/components/credit-user-import.vue new file mode 100644 index 0000000..4744e68 --- /dev/null +++ b/src/views/credit/creditUser/components/credit-user-import.vue @@ -0,0 +1,93 @@ + + + + diff --git a/src/views/credit/creditUser/components/creditUserEdit.vue b/src/views/credit/creditUser/components/creditUserEdit.vue new file mode 100644 index 0000000..4777e00 --- /dev/null +++ b/src/views/credit/creditUser/components/creditUserEdit.vue @@ -0,0 +1,309 @@ + + + + diff --git a/src/views/credit/creditUser/components/search.vue b/src/views/credit/creditUser/components/search.vue new file mode 100644 index 0000000..cb1c8fc --- /dev/null +++ b/src/views/credit/creditUser/components/search.vue @@ -0,0 +1,87 @@ + + + + diff --git a/src/views/credit/creditUser/index.vue b/src/views/credit/creditUser/index.vue new file mode 100644 index 0000000..3dd22f7 --- /dev/null +++ b/src/views/credit/creditUser/index.vue @@ -0,0 +1,318 @@ + + + + + + +