diff --git a/src/api/crm/business/index.ts b/src/api/crm/business/index.ts
new file mode 100644
index 00000000..89cd871f
--- /dev/null
+++ b/src/api/crm/business/index.ts
@@ -0,0 +1,52 @@
+import request from '@/config/axios'
+
+export interface BusinessVO {
+ id: number
+ name: string
+ statusTypeId: number
+ statusId: number
+ contactNextTime: Date
+ customerId: number
+ dealTime: Date
+ price: number
+ discountPercent: number
+ productPrice: number
+ remark: string
+ ownerUserId: number
+ roUserIds: string
+ rwUserIds: string
+ endStatus: number
+ endRemark: string
+ contactLastTime: Date
+ followUpStatus: number
+}
+
+// 查询商机列表
+export const getBusinessPage = async (params) => {
+ return await request.get({ url: `/crm/business/page`, params })
+}
+
+// 查询商机详情
+export const getBusiness = async (id: number) => {
+ return await request.get({ url: `/crm/business/get?id=` + id })
+}
+
+// 新增商机
+export const createBusiness = async (data: BusinessVO) => {
+ return await request.post({ url: `/crm/business/create`, data })
+}
+
+// 修改商机
+export const updateBusiness = async (data: BusinessVO) => {
+ return await request.put({ url: `/crm/business/update`, data })
+}
+
+// 删除商机
+export const deleteBusiness = async (id: number) => {
+ return await request.delete({ url: `/crm/business/delete?id=` + id })
+}
+
+// 导出商机 Excel
+export const exportBusiness = async (params) => {
+ return await request.download({ url: `/crm/business/export-excel`, params })
+}
diff --git a/src/api/crm/businessStatusType/index.ts b/src/api/crm/businessStatusType/index.ts
new file mode 100644
index 00000000..cc4b46aa
--- /dev/null
+++ b/src/api/crm/businessStatusType/index.ts
@@ -0,0 +1,48 @@
+import request from '@/config/axios'
+
+export interface BusinessStatusTypeVO {
+ id: number
+ name: string
+ deptIds: number[]
+ status: boolean
+}
+
+// 查询商机状态类型列表
+export const getBusinessStatusTypePage = async (params) => {
+ return await request.get({ url: `/crm/business-status-type/page`, params })
+}
+
+// 查询商机状态类型详情
+export const getBusinessStatusType = async (id: number) => {
+ return await request.get({ url: `/crm/business-status-type/get?id=` + id })
+}
+
+// 新增商机状态类型
+export const createBusinessStatusType = async (data: BusinessStatusTypeVO) => {
+ return await request.post({ url: `/crm/business-status-type/create`, data })
+}
+
+// 修改商机状态类型
+export const updateBusinessStatusType = async (data: BusinessStatusTypeVO) => {
+ return await request.put({ url: `/crm/business-status-type/update`, data })
+}
+
+// 删除商机状态类型
+export const deleteBusinessStatusType = async (id: number) => {
+ return await request.delete({ url: `/crm/business-status-type/delete?id=` + id })
+}
+
+// 导出商机状态类型 Excel
+export const exportBusinessStatusType = async (params) => {
+ return await request.download({ url: `/crm/business-status-type/export-excel`, params })
+}
+
+// 获取商机状态类型信息列表
+export const getBusinessStatusTypeList = async () => {
+ return await request.get({ url: `/crm/business-status-type/get-simple-list` })
+}
+
+// 根据类型ID获取商机状态信息列表
+export const getBusinessStatusListByTypeId = async (typeId: number) => {
+ return await request.get({ url: `/crm/business-status-type/get-status-list?typeId=` + typeId })
+}
diff --git a/src/views/crm/business/BusinessForm.vue b/src/views/crm/business/BusinessForm.vue
new file mode 100644
index 00000000..04f1cf5d
--- /dev/null
+++ b/src/views/crm/business/BusinessForm.vue
@@ -0,0 +1,281 @@
+
+
+
+
diff --git a/src/views/crm/business/index.vue b/src/views/crm/business/index.vue
new file mode 100644
index 00000000..c1c63fa1
--- /dev/null
+++ b/src/views/crm/business/index.vue
@@ -0,0 +1,207 @@
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/crm/businessStatusType/BusinessStatusTypeForm.vue b/src/views/crm/businessStatusType/BusinessStatusTypeForm.vue
new file mode 100644
index 00000000..2ba71128
--- /dev/null
+++ b/src/views/crm/businessStatusType/BusinessStatusTypeForm.vue
@@ -0,0 +1,173 @@
+
+
+
+
diff --git a/src/views/crm/businessStatusType/index.vue b/src/views/crm/businessStatusType/index.vue
new file mode 100644
index 00000000..7b2725f3
--- /dev/null
+++ b/src/views/crm/businessStatusType/index.vue
@@ -0,0 +1,171 @@
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+