From e44e6e9c8baed81279c288a054dd432c157b7366 Mon Sep 17 00:00:00 2001 From: quu Date: Sat, 26 Apr 2025 16:15:35 +0900 Subject: [PATCH] =?UTF-8?q?crm=20=E6=8A=A5=E4=BB=B7=20=E5=95=86=E6=9C=BA?= =?UTF-8?q?=20=E5=90=88=E5=90=8C=20=E4=B8=89=E5=9D=97=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/crm/contract/index.ts | 6 + .../crm/contractaauthorizedcompany/index.ts | 48 ++ .../crm/contractaauthorizedperson/index.ts | 48 ++ .../crm/contractbauthorizedperson/index.ts | 50 ++ src/api/crm/quotation/index.ts | 5 + src/views/crm/business/BusinessForm.vue | 12 - src/views/crm/contract/ContractForm.vue | 580 ++++++++++-------- .../ContractAAuthorizedCompanyForm.vue | 2 +- .../ContractAAuthorizedPersonForm.vue | 2 +- .../ContractBAuthorizedPersonForm.vue | 6 +- .../components/ContractProductForm.vue | 141 ++--- src/views/crm/quotation/QuotationForm.vue | 36 +- 12 files changed, 587 insertions(+), 349 deletions(-) create mode 100644 src/api/crm/contractaauthorizedcompany/index.ts create mode 100644 src/api/crm/contractaauthorizedperson/index.ts create mode 100644 src/api/crm/contractbauthorizedperson/index.ts diff --git a/src/api/crm/contract/index.ts b/src/api/crm/contract/index.ts index 0a660ba8e..a25d7c403 100644 --- a/src/api/crm/contract/index.ts +++ b/src/api/crm/contract/index.ts @@ -1,5 +1,8 @@ import request from '@/config/axios' import { TransferReqVO } from '@/api/crm/permission' +import { ContractAAuthorizedCompanyVO } from '@/api/crm/contractaauthorizedcompany' +import { ContractAAuthorizedPersonVO } from '@/api/crm/contractaauthorizedperson' +import { ContractBAuthorizedPersonVO } from '@/api/crm/contractbauthorizedperson' export interface ContractVO { id: number // 编号,主键自增 @@ -50,6 +53,9 @@ export interface ContractVO { totalPrice: number } ] + contractAAuthorizedCompanys? : ContractAAuthorizedCompanyVO[] + contractAAuthorizedPersons? : ContractAAuthorizedPersonVO[] + contractBAuthorizedPersons? : ContractBAuthorizedPersonVO[] } // 查询 CRM 合同列表 diff --git a/src/api/crm/contractaauthorizedcompany/index.ts b/src/api/crm/contractaauthorizedcompany/index.ts new file mode 100644 index 000000000..12386c307 --- /dev/null +++ b/src/api/crm/contractaauthorizedcompany/index.ts @@ -0,0 +1,48 @@ +import request from '@/config/axios' + +// 合同甲方关联单位 VO +export interface ContractAAuthorizedCompanyVO { + id: number // ID + contractId: number // 合同ID + customerName: string // 单位名称 + unifiedCreditCode: string // 统一社会信用代码 + invoicingAddress: string // 开票地址 + invoicingTelephone: string // 开票电话 + companyBank: string // 开户行 + companyAccount: string // 开户账号 + companyAddress: string // 通讯地址 + deletedFlag: number // 删除标记:1-正常,-1-已删除 +} + +// 合同甲方关联单位 API +export const ContractAAuthorizedCompanyApi = { + // 查询合同甲方关联单位分页 + getContractAAuthorizedCompanyPage: async (params: any) => { + return await request.get({ url: `/crm/contract-A-authorized-company/page`, params }) + }, + + // 查询合同甲方关联单位详情 + getContractAAuthorizedCompany: async (id: number) => { + return await request.get({ url: `/crm/contract-A-authorized-company/get?id=` + id }) + }, + + // 新增合同甲方关联单位 + createContractAAuthorizedCompany: async (data: ContractAAuthorizedCompanyVO) => { + return await request.post({ url: `/crm/contract-A-authorized-company/create`, data }) + }, + + // 修改合同甲方关联单位 + updateContractAAuthorizedCompany: async (data: ContractAAuthorizedCompanyVO) => { + return await request.put({ url: `/crm/contract-A-authorized-company/update`, data }) + }, + + // 删除合同甲方关联单位 + deleteContractAAuthorizedCompany: async (id: number) => { + return await request.delete({ url: `/crm/contract-A-authorized-company/delete?id=` + id }) + }, + + // 导出合同甲方关联单位 Excel + exportContractAAuthorizedCompany: async (params) => { + return await request.download({ url: `/crm/contract-A-authorized-company/export-excel`, params }) + } +} \ No newline at end of file diff --git a/src/api/crm/contractaauthorizedperson/index.ts b/src/api/crm/contractaauthorizedperson/index.ts new file mode 100644 index 000000000..7a9a25340 --- /dev/null +++ b/src/api/crm/contractaauthorizedperson/index.ts @@ -0,0 +1,48 @@ +import request from '@/config/axios' + +// 合同甲方授权人信息 VO +export interface ContractAAuthorizedPersonVO { + id: number // ID + contractId: number // 合同ID + customerContactId: number // 客户联系人ID + customerName: string // 姓名 + authPersonType: number // 授权人类型 + phoneNumber: string // 手机号 + wechat: string // 微信号 + idNumber: string // 身份证号 + email: string // 电子邮箱 + deletedFlag: number // 删除标记:1-正常,-1-已删除 +} + +// 合同甲方授权人信息 API +export const ContractAAuthorizedPersonApi = { + // 查询合同甲方授权人信息分页 + getContractAAuthorizedPersonPage: async (params: any) => { + return await request.get({ url: `/crm/contract-A-authorized-person/page`, params }) + }, + + // 查询合同甲方授权人信息详情 + getContractAAuthorizedPerson: async (id: number) => { + return await request.get({ url: `/crm/contract-A-authorized-person/get?id=` + id }) + }, + + // 新增合同甲方授权人信息 + createContractAAuthorizedPerson: async (data: ContractAAuthorizedPersonVO) => { + return await request.post({ url: `/crm/contract-A-authorized-person/create`, data }) + }, + + // 修改合同甲方授权人信息 + updateContractAAuthorizedPerson: async (data: ContractAAuthorizedPersonVO) => { + return await request.put({ url: `/crm/contract-A-authorized-person/update`, data }) + }, + + // 删除合同甲方授权人信息 + deleteContractAAuthorizedPerson: async (id: number) => { + return await request.delete({ url: `/crm/contract-A-authorized-person/delete?id=` + id }) + }, + + // 导出合同甲方授权人信息 Excel + exportContractAAuthorizedPerson: async (params) => { + return await request.download({ url: `/crm/contract-A-authorized-person/export-excel`, params }) + } +} \ No newline at end of file diff --git a/src/api/crm/contractbauthorizedperson/index.ts b/src/api/crm/contractbauthorizedperson/index.ts new file mode 100644 index 000000000..55d0762a4 --- /dev/null +++ b/src/api/crm/contractbauthorizedperson/index.ts @@ -0,0 +1,50 @@ +import request from '@/config/axios' + +// 合同乙方授权人信息 VO +export interface ContractBAuthorizedPersonVO { + id: number // ID + contractId: number // 合同ID + userId: number // 用户ID + name: string // 姓名 + authType: number // 类别:商旅负责人、技术负责人、服务对接人 + postId: number // 岗位 + userRank: number // 职级 + authDesc: string // 权限说明 + phoneNumber: string // 手机号 + wechat: string // 微信号 + email: string // 电子邮箱 + deletedFlag: number // 删除标记:1-正常,-1-已删除 +} + +// 合同乙方授权人信息 API +export const ContractBAuthorizedPersonApi = { + // 查询合同乙方授权人信息分页 + getContractBAuthorizedPersonPage: async (params: any) => { + return await request.get({ url: `/crm/contract-B-authorized-person/page`, params }) + }, + + // 查询合同乙方授权人信息详情 + getContractBAuthorizedPerson: async (id: number) => { + return await request.get({ url: `/crm/contract-B-authorized-person/get?id=` + id }) + }, + + // 新增合同乙方授权人信息 + createContractBAuthorizedPerson: async (data: ContractBAuthorizedPersonVO) => { + return await request.post({ url: `/crm/contract-B-authorized-person/create`, data }) + }, + + // 修改合同乙方授权人信息 + updateContractBAuthorizedPerson: async (data: ContractBAuthorizedPersonVO) => { + return await request.put({ url: `/crm/contract-B-authorized-person/update`, data }) + }, + + // 删除合同乙方授权人信息 + deleteContractBAuthorizedPerson: async (id: number) => { + return await request.delete({ url: `/crm/contract-B-authorized-person/delete?id=` + id }) + }, + + // 导出合同乙方授权人信息 Excel + exportContractBAuthorizedPerson: async (params) => { + return await request.download({ url: `/crm/contract-B-authorized-person/export-excel`, params }) + } +} \ No newline at end of file diff --git a/src/api/crm/quotation/index.ts b/src/api/crm/quotation/index.ts index 070b7d23d..4fe63d92c 100644 --- a/src/api/crm/quotation/index.ts +++ b/src/api/crm/quotation/index.ts @@ -40,6 +40,11 @@ export const QuotationApi = { return await request.get({ url: `/crm/quotation/get?id=` + id }) }, + // 获得 CRM 方案列表(精简) + getSimpleQuotationList : async () => { + return await request.get({ url: `/crm/quotation/simple-all-list` }) + }, + // 新增CRM 方案报价 createQuotation: async (data: QuotationVO) => { return await request.post({ url: `/crm/quotation/create`, data }) diff --git a/src/views/crm/business/BusinessForm.vue b/src/views/crm/business/BusinessForm.vue index a6cca781f..81a73dcfa 100644 --- a/src/views/crm/business/BusinessForm.vue +++ b/src/views/crm/business/BusinessForm.vue @@ -216,18 +216,6 @@ /> - - + @@ -18,34 +18,35 @@ + + + - + - - - - - - - - - + + - - - - - - + - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - 请选择字典生成 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -283,39 +358,6 @@ - - - - - - - - - - - - - - - - - diff --git a/src/views/crm/contract/components/ContractAAuthorizedCompanyForm.vue b/src/views/crm/contract/components/ContractAAuthorizedCompanyForm.vue index d088506cd..09db797b1 100644 --- a/src/views/crm/contract/components/ContractAAuthorizedCompanyForm.vue +++ b/src/views/crm/contract/components/ContractAAuthorizedCompanyForm.vue @@ -73,7 +73,7 @@ - + 添加合同甲方关联单位 + + 添加