增加商机线索管理修复若干bug

This commit is contained in:
2026-09-11 11:11:43 +08:00
parent b9cdabe045
commit 9c07af2b59
39 changed files with 6219 additions and 42 deletions
+139
View File
@@ -0,0 +1,139 @@
import request from "@/utils/request";
/**
* CRM 业务管线接口:线索 → 商机 → 项目,回访贯穿全流程。
*
* 关联类型 related_type:1=线索 2=商机 3=项目
*/
/* --------------------------------- 线索 --------------------------------- */
export function getClueList(params) {
return request({ url: "/backend/crm/clue/list", method: "get", params });
}
export function getClueDetail(id) {
return request({ url: `/backend/crm/clue/${id}`, method: "get" });
}
export function createClue(data) {
return request({ url: "/backend/crm/clue", method: "post", data });
}
export function updateClue(id, data) {
return request({ url: `/backend/crm/clue/${id}`, method: "put", data });
}
export function deleteClue(id) {
return request({ url: `/backend/crm/clue/${id}`, method: "delete" });
}
/** 线索转化商机:会把线索客户名称落地为正式客户,并锁定线索 */
export function convertClueToBusiness(id, data) {
return request({ url: `/backend/crm/clue/${id}/convert`, method: "post", data });
}
/* --------------------------------- 商机 --------------------------------- */
export function getBusinessList(params) {
return request({ url: "/backend/crm/business/list", method: "get", params });
}
export function getBusinessDetail(id) {
return request({ url: `/backend/crm/business/${id}`, method: "get" });
}
export function createBusiness(data) {
return request({ url: "/backend/crm/business", method: "post", data });
}
export function updateBusiness(id, data) {
return request({ url: `/backend/crm/business/${id}`, method: "put", data });
}
export function deleteBusiness(id) {
return request({ url: `/backend/crm/business/${id}`, method: "delete" });
}
/** 商机转化项目 */
export function convertBusinessToProject(id, data) {
return request({ url: `/backend/crm/business/${id}/convert`, method: "post", data });
}
/* --------------------------------- 项目 --------------------------------- */
export function getProjectList(params) {
return request({ url: "/backend/crm/project/list", method: "get", params });
}
export function getProjectDetail(id) {
return request({ url: `/backend/crm/project/${id}`, method: "get" });
}
export function createProject(data) {
return request({ url: "/backend/crm/project", method: "post", data });
}
export function updateProject(id, data) {
return request({ url: `/backend/crm/project/${id}`, method: "put", data });
}
export function deleteProject(id) {
return request({ url: `/backend/crm/project/${id}`, method: "delete" });
}
/* --------------------------------- 回访 --------------------------------- */
export function getFollowList(params) {
return request({ url: "/backend/crm/follow/list", method: "get", params });
}
export function addFollow(data) {
return request({ url: "/backend/crm/follow/add", method: "post", data });
}
export function updateFollow(data) {
return request({ url: "/backend/crm/follow/edit", method: "post", data });
}
export function deleteFollow(data) {
return request({ url: "/backend/crm/follow/delete", method: "post", data });
}
/* --------------------------------- 附件 --------------------------------- */
export function getAttachList(params) {
return request({ url: "/backend/crm/attach/list", method: "get", params });
}
export function addAttach(data) {
return request({ url: "/backend/crm/attach/add", method: "post", data });
}
export function deleteAttach(data) {
return request({ url: "/backend/crm/attach/delete", method: "post", data });
}
/* ------------------------------ 联系人(实体) ------------------------------ */
export function getEntityContactList(params) {
return request({ url: "/backend/crm/entity/contact/list", method: "get", params });
}
export function addEntityContact(data) {
return request({ url: "/backend/crm/entity/contact/add", method: "post", data });
}
export function updateEntityContact(data) {
return request({ url: "/backend/crm/entity/contact/edit", method: "post", data });
}
export function deleteEntityContact(data) {
return request({ url: "/backend/crm/entity/contact/delete", method: "post", data });
}
/* ------------------------------- 操作日志 ------------------------------- */
export function getCrmOperateLogs(params) {
return request({ url: "/backend/crm/oplog/list", method: "get", params });
}