index.ts 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. import request from '@/config/axios'
  2. import { TransferReqVO } from '@/api/crm/customer'
  3. export interface ContactVO {
  4. id: number // 编号
  5. name: string // 联系人名称
  6. customerId: number // 客户编号
  7. customerName?: string // 客户名称
  8. contactLastTime: Date // 最后跟进时间
  9. contactLastContent: string // 最后跟进内容
  10. contactNextTime: Date // 下次联系时间
  11. ownerUserId: number // 负责人的用户编号
  12. ownerUserName?: string // 负责人的用户名称
  13. ownerUserDept?: string // 负责人的部门名称
  14. mobile: string // 手机号
  15. telephone: string // 电话
  16. qq: string // QQ
  17. wechat: string // wechat
  18. email: string // email
  19. areaId: number // 所在地
  20. areaName?: string // 所在地名称
  21. detailAddress: string // 详细地址
  22. sex: number // 性别
  23. master: boolean // 是否主联系人
  24. post: string // 职务
  25. parentId: number // 上级联系人编号
  26. parentName?: string // 上级联系人名称
  27. remark: string // 备注
  28. creator: string // 创建人
  29. creatorName?: string // 创建人名称
  30. createTime: Date // 创建时间
  31. updateTime: Date // 更新时间
  32. }
  33. export interface ContactBusinessReqVO {
  34. contactId: number
  35. businessIds: number[]
  36. }
  37. export interface ContactBusiness2ReqVO {
  38. businessId: number
  39. contactIds: number[]
  40. }
  41. // 查询 CRM 联系人列表
  42. export const getContactPage = async (params) => {
  43. return await request.get({ url: `/crm/contact/page`, params })
  44. }
  45. // 查询 CRM 联系人列表,基于指定客户
  46. export const getContactPageByCustomer = async (params: any) => {
  47. return await request.get({ url: `/crm/contact/page-by-customer`, params })
  48. }
  49. // 查询 CRM 联系人列表,基于指定商机
  50. export const getContactPageByBusiness = async (params: any) => {
  51. return await request.get({ url: `/crm/contact/page-by-business`, params })
  52. }
  53. // 查询 CRM 联系人详情
  54. export const getContact = async (id: number) => {
  55. return await request.get({ url: `/crm/contact/get?id=` + id })
  56. }
  57. // 新增 CRM 联系人
  58. export const createContact = async (data: ContactVO) => {
  59. return await request.post({ url: `/crm/contact/create`, data })
  60. }
  61. // 修改 CRM 联系人
  62. export const updateContact = async (data: ContactVO) => {
  63. return await request.put({ url: `/crm/contact/update`, data })
  64. }
  65. // 删除 CRM 联系人
  66. export const deleteContact = async (id: number) => {
  67. return await request.delete({ url: `/crm/contact/delete?id=` + id })
  68. }
  69. // 导出 CRM 联系人 Excel
  70. export const exportContact = async (params) => {
  71. return await request.download({ url: `/crm/contact/export-excel`, params })
  72. }
  73. // 获得 CRM 联系人列表(精简)
  74. export const getSimpleContactList = async () => {
  75. return await request.get({ url: `/crm/contact/simple-all-list` })
  76. }
  77. // 批量新增联系人商机关联
  78. export const createContactBusinessList = async (data: ContactBusinessReqVO) => {
  79. return await request.post({ url: `/crm/contact/create-business-list`, data })
  80. }
  81. // 批量新增联系人商机关联
  82. export const createContactBusinessList2 = async (data: ContactBusiness2ReqVO) => {
  83. return await request.post({ url: `/crm/contact/create-business-list2`, data })
  84. }
  85. // 解除联系人商机关联
  86. export const deleteContactBusinessList = async (data: ContactBusinessReqVO) => {
  87. return await request.delete({ url: `/crm/contact/delete-business-list`, data })
  88. }
  89. // 解除联系人商机关联
  90. export const deleteContactBusinessList2 = async (data: ContactBusiness2ReqVO) => {
  91. return await request.delete({ url: `/crm/contact/delete-business-list2`, data })
  92. }
  93. // 联系人转移
  94. export const transferContact = async (data: TransferReqVO) => {
  95. return await request.put({ url: '/crm/contact/transfer', data })
  96. }