diff --git a/src/api/crm/contact/index.ts b/src/api/crm/contact/index.ts
new file mode 100644
index 00000000..6ac5a01d
--- /dev/null
+++ b/src/api/crm/contact/index.ts
@@ -0,0 +1,65 @@
+/*
+ * @Author: zyna
+ * @Date: 2023-11-05 13:34:41
+ * @LastEditTime: 2023-11-11 16:20:19
+ * @FilePath: \yudao-ui-admin-vue3\src\api\crm\contact\index.ts
+ * @Description:
+ */
+import request from '@/config/axios'
+
+export interface ContactVO {
+ name: string
+ nextTime: Date
+ mobile: string
+ telephone: string
+ email: string
+ post: string
+ customerId: number
+ address: string
+ remark: string
+ ownerUserId: string
+ lastTime: Date
+ id: number
+ parentId: number
+ qq: number
+ webchat: string
+ sex: number
+ policyMakers: boolean
+ creatorName: string
+ updateTime?: Date
+ createTime?: Date
+ customerName: string
+}
+
+// 查询crm联系人列表
+export const getContactPage = async (params) => {
+ return await request.get({ url: `/crm/contact/page`, params })
+}
+
+// 查询crm联系人详情
+export const getContact = async (id: number) => {
+ return await request.get({ url: `/crm/contact/get?id=` + id })
+}
+
+// 新增crm联系人
+export const createContact = async (data: ContactVO) => {
+ return await request.post({ url: `/crm/contact/create`, data })
+}
+
+// 修改crm联系人
+export const updateContact = async (data: ContactVO) => {
+ return await request.put({ url: `/crm/contact/update`, data })
+}
+
+// 删除crm联系人
+export const deleteContact = async (id: number) => {
+ return await request.delete({ url: `/crm/contact/delete?id=` + id })
+}
+
+// 导出crm联系人 Excel
+export const exportContact = async (params) => {
+ return await request.download({ url: `/crm/contact/export-excel`, params })
+}
+export const simpleAlllist = async () => {
+ return await request.get({ url: `/crm/contact/simpleAlllist` })
+}
diff --git a/src/router/modules/remaining.ts b/src/router/modules/remaining.ts
index 58eb1733..ae564fe6 100644
--- a/src/router/modules/remaining.ts
+++ b/src/router/modules/remaining.ts
@@ -503,6 +503,16 @@ const remainingRouter: AppRouteRecordRaw[] = [
hidden: true
},
component: () => import('@/views/crm/customer/detail/index.vue')
+ },
+ {
+ path: 'contact/detail/:id',
+ name: 'CrmContactDetail',
+ meta: {
+ title: '联系人详情',
+ noCache: true,
+ hidden: true
+ },
+ component: () => import('@/views/crm/contact/detail/index.vue')
}
]
}
diff --git a/src/views/crm/contact/ContactForm.vue b/src/views/crm/contact/ContactForm.vue
new file mode 100644
index 00000000..94d50299
--- /dev/null
+++ b/src/views/crm/contact/ContactForm.vue
@@ -0,0 +1,348 @@
+
+
+
+
+
diff --git a/src/views/crm/contact/OwerSelect.vue b/src/views/crm/contact/OwerSelect.vue
new file mode 100644
index 00000000..83dd143b
--- /dev/null
+++ b/src/views/crm/contact/OwerSelect.vue
@@ -0,0 +1,71 @@
+
+
+
+
+
diff --git a/src/views/crm/contact/detail/ContactBasicInfo.vue b/src/views/crm/contact/detail/ContactBasicInfo.vue
new file mode 100644
index 00000000..68e37d28
--- /dev/null
+++ b/src/views/crm/contact/detail/ContactBasicInfo.vue
@@ -0,0 +1,23 @@
+
+
+
+
+ {{ contact.name }}
+
+
+
+
+
+
+
+
diff --git a/src/views/crm/contact/detail/ContactDetails.vue b/src/views/crm/contact/detail/ContactDetails.vue
new file mode 100644
index 00000000..5091b691
--- /dev/null
+++ b/src/views/crm/contact/detail/ContactDetails.vue
@@ -0,0 +1,93 @@
+
+
+
+
+ 基本信息
+
+
+
+ {{ contact.name }}
+
+
+ {{ contact.customerName }}
+
+
+ {{ contact.mobile }}
+
+
+ {{ contact.telephone }}
+
+
+ {{ contact.email }}
+
+
+ {{ contact.qq }}
+
+
+ {{ contact.webchat }}
+
+
+ {{ contact.address }}
+
+
+ {{ contact.nextTime ? formatDate(contact.nextTime) : '空' }}
+
+
+
+
+
+ {{ contact.remark }}
+
+
+
+
+
+ 系统信息
+
+
+
+ {{ gotOwnerUser(contact.ownerUserId) }}
+
+
+ {{ contact.creatorName }}
+
+
+ {{ contact.createTime ? formatDate(contact.createTime) : '空' }}
+
+
+ {{ contact.updateTime ? formatDate(contact.updateTime) : '空' }}
+
+
+
+
+
+
+
diff --git a/src/views/crm/contact/detail/index.vue b/src/views/crm/contact/detail/index.vue
new file mode 100644
index 00000000..3ab5778b
--- /dev/null
+++ b/src/views/crm/contact/detail/index.vue
@@ -0,0 +1,147 @@
+
+
+
+
+
+
+ 创建任务
+
+
+
+ 发送邮件
+
+
+
+ 创建联系人
+
+
+
+ 创建商机
+
+
+
+ 创建合同
+
+
+
+ 创建回款
+
+
+
+ 添加团队成员
+
+
+
+
+
+
+ {{ contact.customerName }}
+
+
+ {{ contact.post }}
+
+
+ {{ contact.mobile }}
+
+
+ {{ contact.createTime ? formatDate(contact.createTime) : '空' }}
+
+
+
+
+
+
+
+
+
+
+ 活动
+ 邮件
+ 工商信息
+
+
+ 客户
+ 客户
+
+
+ 团队成员
+ 团队成员
+
+ 商机
+
+ 合同
+ 合同
+
+
+ 回款
+ 回款
+
+ 回访
+ 发票
+
+
+
+
+
+
+
+
diff --git a/src/views/crm/contact/index.vue b/src/views/crm/contact/index.vue
new file mode 100644
index 00000000..3e0b3526
--- /dev/null
+++ b/src/views/crm/contact/index.vue
@@ -0,0 +1,333 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+ {{
+ scope.row.name
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ allContactList.find((contact) => contact.id === scope.row.parentId)?.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ gotOwnerUser(scope.row.ownerUserId) }}
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+