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 @@
+
+
+
+
+
+ 基本信息
+
+
+
+
+ {{ contract.name }}
+
+
+ {{ contract.remark }}
+
+
+
+
+
+ 系统信息
+
+
+
+ {{ contract.ownerUserName }}
+
+
+ {{ contract.creatorName }}
+
+
+ {{ contract.createTime ? formatDate(contract.createTime) : '空' }}
+
+
+ {{ contract.updateTime ? formatDate(contract.updateTime) : '空' }}
+
+
+
+
+
+
+
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"
/>
-
+
提交审核
+
+ 详情
+
{
}
/** 提交审核 **/
-const handleApprove = async (id: number) => {
- await ContractApi.handleApprove(id)
+const handleApprove = async (row: ContractApi.ContractVO) => {
+ await message.confirm(`您确定提交【${row.name}】审核吗?`)
+ await ContractApi.handleApprove(row.id)
message.success('提交审核成功!')
await getList()
}
+const { push } = useRouter()
+const openDetail = (id: number) => {
+ push({ name: 'CrmContractDetail', params: { id } })
+}
/** 初始化 **/
onMounted(() => {
getList()