From 0ce73cdc660f0fb4ce89482079d4be25486e588b Mon Sep 17 00:00:00 2001 From: "zangch@mesnac.com" Date: Wed, 5 Nov 2025 13:20:07 +0800 Subject: [PATCH] =?UTF-8?q?feat(oa/crm):=20=E6=96=B0=E5=A2=9E=E4=BE=9B?= =?UTF-8?q?=E5=BA=94=E5=95=86=E4=BF=A1=E6=81=AF=E7=AE=A1=E7=90=86=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 实现供应商信息的增删改查接口 - 开发供应商信息列表页面及详情展示 - 支持供应商信息的搜索与筛选功能- 添加供应商信息导入导出功能 - 实现供应商附件上传与管理功能- 集成字典数据与用户选择器组件- 完善供应商表单校验规则与交互逻辑 --- src/api/oa/crm/crmSupplierInfo/index.ts | 76 +++ src/api/oa/crm/crmSupplierInfo/types.ts | 401 ++++++++++++++ src/views/oa/crm/crmSupplierInfo/index.vue | 611 +++++++++++++++++++++ 3 files changed, 1088 insertions(+) create mode 100644 src/api/oa/crm/crmSupplierInfo/index.ts create mode 100644 src/api/oa/crm/crmSupplierInfo/types.ts create mode 100644 src/views/oa/crm/crmSupplierInfo/index.vue diff --git a/src/api/oa/crm/crmSupplierInfo/index.ts b/src/api/oa/crm/crmSupplierInfo/index.ts new file mode 100644 index 0000000..e74285d --- /dev/null +++ b/src/api/oa/crm/crmSupplierInfo/index.ts @@ -0,0 +1,76 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { CrmSupplierInfoVO, CrmSupplierInfoForm, CrmSupplierInfoQuery } from '@/api/oa/crm/crmSupplierInfo/types'; + +/** + * 查询供应商信息列表 + * @param query + * @returns {*} + */ + +export const listCrmSupplierInfo = (query?: CrmSupplierInfoQuery): AxiosPromise => { + return request({ + url: '/oa/crm/crmSupplierInfo/list', + method: 'get', + params: query + }); +}; + +/** + * 查询供应商信息详细 + * @param supplierId + */ +export const getCrmSupplierInfo = (supplierId: string | number): AxiosPromise => { + return request({ + url: '/oa/crm/crmSupplierInfo/' + supplierId, + method: 'get' + }); +}; + +/** + * 新增供应商信息 + * @param data + */ +export const addCrmSupplierInfo = (data: CrmSupplierInfoForm) => { + return request({ + url: '/oa/crm/crmSupplierInfo', + method: 'post', + data: data + }); +}; + +/** + * 修改供应商信息 + * @param data + */ +export const updateCrmSupplierInfo = (data: CrmSupplierInfoForm) => { + return request({ + url: '/oa/crm/crmSupplierInfo', + method: 'put', + data: data + }); +}; + +/** + * 删除供应商信息 + * @param supplierId + */ +export const delCrmSupplierInfo = (supplierId: string | number | Array) => { + return request({ + url: '/oa/crm/crmSupplierInfo/' + supplierId, + method: 'delete' + }); +}; + +/** + * 下拉框查询供应商信息列表 + * @param query + * @returns {*} + */ +export function getCrmSupplierInfoList (query) { + return request({ + url: '/oa/crm/crmSupplierInfo/getCrmSupplierInfoList', + method: 'get', + params: query + }); +}; diff --git a/src/api/oa/crm/crmSupplierInfo/types.ts b/src/api/oa/crm/crmSupplierInfo/types.ts new file mode 100644 index 0000000..1d0f481 --- /dev/null +++ b/src/api/oa/crm/crmSupplierInfo/types.ts @@ -0,0 +1,401 @@ +export interface CrmSupplierInfoVO { + /** + * 供应商ID + */ + supplierId: string | number; + + /** + * 供应商名称 + */ + supplierName: string; + + /** + * 助记名称 + */ + mnemonicName: string; + + /** + * 供应商类型(1企业 2个体户 3其他) + */ + supplierType: string; + + /** + * 注册资本(万元) + */ + registeredCapital: number; + + /** + * 成立日期 + */ + establishmentDate: string; + + /** + * 经营范围 + */ + businessScope: string; + + /** + * 主营行业 + */ + mainIndustry: string; + + /** + * 法定代表人 + */ + legalRepresentative: string; + + /** + * 营业执照号码 + */ + businessLicenseNumber: string; + + /** + * 税号 + */ + taxNumber: string; + + /** + * 开户银行 + */ + bankAccountOpening: string; + + /** + * 银行账号 + */ + bankNumber: string; + + /** + * 注册地址 + */ + registeredAddress: string; + + /** + * 经营地址 + */ + businessAddress: string; + + /** + * 联系人 + */ + contactPerson: string; + + /** + * 联系电话 + */ + contactPhone: string; + + /** + * 联系手机 + */ + contactMobile: string; + + /** + * 联系邮箱 + */ + contactEmail: string; + + /** + * 传真 + */ + contactFax: string; + + /** + * 网址 + */ + website: string; + + /** + * 归属人员ID + */ + ownerId: string | number; + + /** + * 详细地址 + */ + detailedAddress: string; + + /** + * 附件ID + */ + ossId: string | number; + + /** + * 备注 + */ + remark: string; + + /** + * 激活标识(1是 0否) + */ + activeFlag: string; + + /** + * 归属人员名称 + */ + ownerName?: string; + +} + +export interface CrmSupplierInfoForm extends BaseEntity { + /** + * 供应商ID + */ + supplierId?: string | number; + + /** + * 供应商名称 + */ + supplierName?: string; + + /** + * 助记名称 + */ + mnemonicName?: string; + + /** + * 供应商类型(1企业 2个体户 3其他) + */ + supplierType?: string; + + /** + * 注册资本(万元) + */ + registeredCapital?: number; + + /** + * 成立日期 + */ + establishmentDate?: string; + + /** + * 经营范围 + */ + businessScope?: string; + + /** + * 主营行业 + */ + mainIndustry?: string; + + /** + * 法定代表人 + */ + legalRepresentative?: string; + + /** + * 营业执照号码 + */ + businessLicenseNumber?: string; + + /** + * 税号 + */ + taxNumber?: string; + + /** + * 开户银行 + */ + bankAccountOpening?: string; + + /** + * 银行账号 + */ + bankNumber?: string; + + /** + * 注册地址 + */ + registeredAddress?: string; + + /** + * 经营地址 + */ + businessAddress?: string; + + /** + * 联系人 + */ + contactPerson?: string; + + /** + * 联系电话 + */ + contactPhone?: string; + + /** + * 联系手机 + */ + contactMobile?: string; + + /** + * 联系邮箱 + */ + contactEmail?: string; + + /** + * 传真 + */ + contactFax?: string; + + /** + * 网址 + */ + website?: string; + + /** + * 归属人员ID + */ + ownerId?: string | number; + + /** + * 详细地址 + */ + detailedAddress?: string; + + /** + * 附件ID + */ + ossId?: string | number; + + /** + * 备注 + */ + remark?: string; + + /** + * 激活标识(1是 0否) + */ + activeFlag?: string; + +} + +export interface CrmSupplierInfoQuery extends PageQuery { + + /** + * 供应商名称 + */ + supplierName?: string; + + /** + * 助记名称 + */ + mnemonicName?: string; + + /** + * 供应商类型(1企业 2个体户 3其他) + */ + supplierType?: string; + + /** + * 注册资本(万元) + */ + registeredCapital?: number; + + /** + * 成立日期 + */ + establishmentDate?: string; + + /** + * 经营范围 + */ + businessScope?: string; + + /** + * 主营行业 + */ + mainIndustry?: string; + + /** + * 法定代表人 + */ + legalRepresentative?: string; + + /** + * 营业执照号码 + */ + businessLicenseNumber?: string; + + /** + * 税号 + */ + taxNumber?: string; + + /** + * 开户银行 + */ + bankAccountOpening?: string; + + /** + * 银行账号 + */ + bankNumber?: string; + + /** + * 注册地址 + */ + registeredAddress?: string; + + /** + * 经营地址 + */ + businessAddress?: string; + + /** + * 联系人 + */ + contactPerson?: string; + + /** + * 联系电话 + */ + contactPhone?: string; + + /** + * 联系手机 + */ + contactMobile?: string; + + /** + * 联系邮箱 + */ + contactEmail?: string; + + /** + * 传真 + */ + contactFax?: string; + + /** + * 网址 + */ + website?: string; + + /** + * 归属人员ID + */ + ownerId?: string | number; + + /** + * 详细地址 + */ + detailedAddress?: string; + + /** + * 附件ID + */ + ossId?: string | number; + + /** + * 激活标识(1是 0否) + */ + activeFlag?: string; + + /** + * 日期范围参数 + */ + params?: any; +} + + + diff --git a/src/views/oa/crm/crmSupplierInfo/index.vue b/src/views/oa/crm/crmSupplierInfo/index.vue new file mode 100644 index 0000000..ca24e6e --- /dev/null +++ b/src/views/oa/crm/crmSupplierInfo/index.vue @@ -0,0 +1,611 @@ + + +