From 668da2fa865835e51486d02b75fd5e2bc2561cc5 Mon Sep 17 00:00:00 2001 From: puhui999 Date: Sun, 28 Jan 2024 01:32:49 +0800 Subject: [PATCH] =?UTF-8?q?CRM-=E5=90=88=E5=90=8C=EF=BC=9A=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=90=88=E5=90=8C=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/crm/contract/index.ts | 12 ++ src/router/modules/remaining.ts | 11 ++ src/views/crm/contact/detail/index.vue | 5 +- .../contract/detail/ContractDetailsHeader.vue | 40 +++++++ .../contract/detail/ContractDetailsInfo.vue | 51 ++++++++ src/views/crm/contract/detail/index.vue | 111 ++++++++++++++++++ src/views/crm/contract/index.vue | 21 +++- 7 files changed, 245 insertions(+), 6 deletions(-) create mode 100644 src/views/crm/contract/detail/ContractDetailsHeader.vue create mode 100644 src/views/crm/contract/detail/ContractDetailsInfo.vue create mode 100644 src/views/crm/contract/detail/index.vue diff --git a/src/api/crm/contract/index.ts b/src/api/crm/contract/index.ts index ffe4b578..731750c1 100644 --- a/src/api/crm/contract/index.ts +++ b/src/api/crm/contract/index.ts @@ -1,5 +1,6 @@ import request from '@/config/axios' import { ProductExpandVO } from '@/api/crm/product' +import { TransferReqVO } from '@/api/crm/customer' export interface ContractVO { id: number @@ -21,6 +22,12 @@ export interface ContractVO { status: number remark: string productItems: ProductExpandVO[] + creatorName: string + updateTime?: Date + createTime?: Date + customerName: string + contactName: string + ownerUserName: string } // 查询 CRM 合同列表 @@ -62,3 +69,8 @@ export const exportContract = async (params) => { export const handleApprove = async (id: number) => { return await request.put({ url: `/crm/contract/approve?id=${id}` }) } + +// 合同转移 +export const transfer = async (data: TransferReqVO) => { + return await request.put({ url: '/crm/contract/transfer', data }) +} diff --git a/src/router/modules/remaining.ts b/src/router/modules/remaining.ts index 7bcd81d2..edda3820 100644 --- a/src/router/modules/remaining.ts +++ b/src/router/modules/remaining.ts @@ -507,6 +507,17 @@ const remainingRouter: AppRouteRecordRaw[] = [ }, component: () => import('@/views/crm/customer/detail/index.vue') }, + { + path: 'contract/detail/:id', + name: 'CrmContractDetail', + meta: { + title: '合同详情', + noCache: true, + hidden: true, + activeMenu: '/crm/contract' + }, + component: () => import('@/views/crm/contract/detail/index.vue') + }, { path: 'contact/detail/:id', name: 'CrmContactDetail', diff --git a/src/views/crm/contact/detail/index.vue b/src/views/crm/contact/detail/index.vue index 7d287381..65678a3d 100644 --- a/src/views/crm/contact/detail/index.vue +++ b/src/views/crm/contact/detail/index.vue @@ -34,7 +34,7 @@ - + diff --git a/src/views/crm/contract/detail/ContractDetailsInfo.vue b/src/views/crm/contract/detail/ContractDetailsInfo.vue new file mode 100644 index 00000000..f18f7c08 --- /dev/null +++ b/src/views/crm/contract/detail/ContractDetailsInfo.vue @@ -0,0 +1,51 @@ + + diff --git a/src/views/crm/contract/detail/index.vue b/src/views/crm/contract/detail/index.vue new file mode 100644 index 00000000..5ba1e997 --- /dev/null +++ b/src/views/crm/contract/detail/index.vue @@ -0,0 +1,111 @@ + + diff --git a/src/views/crm/contract/index.vue b/src/views/crm/contract/index.vue index 49ea53a9..da3aeaad 100644 --- a/src/views/crm/contract/index.vue +++ b/src/views/crm/contract/index.vue @@ -105,7 +105,7 @@ width="180px" /> - +