index.ts 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. import request from '@/config/axios'
  2. import { TransferReqVO } from '@/api/crm/customer'
  3. export interface BusinessVO {
  4. id: number
  5. name: string
  6. customerId: number
  7. customerName?: string
  8. followUpStatus: boolean
  9. contactLastTime: Date
  10. contactNextTime: Date
  11. ownerUserId: number
  12. ownerUserName?: string // 负责人的用户名称
  13. ownerUserDept?: string // 负责人的部门名称
  14. statusTypeId: number
  15. statusTypeName?: string
  16. statusId: number
  17. statusName?: string
  18. endStatus: number
  19. endRemark: string
  20. dealTime: Date
  21. totalProductPrice: number
  22. totalPrice: number
  23. discountPercent: number
  24. remark: string
  25. creator: string // 创建人
  26. creatorName?: string // 创建人名称
  27. createTime: Date // 创建时间
  28. updateTime: Date // 更新时间
  29. products?: [
  30. {
  31. id: number
  32. productId: number
  33. productName: string
  34. productNo: string
  35. productUnit: number
  36. productPrice: number
  37. businessPrice: number
  38. count: number
  39. totalPrice: number
  40. }
  41. ]
  42. }
  43. // 查询 CRM 商机列表
  44. export const getBusinessPage = async (params) => {
  45. return await request.get({ url: `/crm/business/page`, params })
  46. }
  47. // 查询 CRM 商机列表,基于指定客户
  48. export const getBusinessPageByCustomer = async (params) => {
  49. return await request.get({ url: `/crm/business/page-by-customer`, params })
  50. }
  51. // 查询 CRM 商机详情
  52. export const getBusiness = async (id: number) => {
  53. return await request.get({ url: `/crm/business/get?id=` + id })
  54. }
  55. // 获得 CRM 商机列表(精简)
  56. export const getSimpleBusinessList = async () => {
  57. return await request.get({ url: `/crm/business/simple-all-list` })
  58. }
  59. // 新增 CRM 商机
  60. export const createBusiness = async (data: BusinessVO) => {
  61. return await request.post({ url: `/crm/business/create`, data })
  62. }
  63. // 修改 CRM 商机
  64. export const updateBusiness = async (data: BusinessVO) => {
  65. return await request.put({ url: `/crm/business/update`, data })
  66. }
  67. // 删除 CRM 商机
  68. export const deleteBusiness = async (id: number) => {
  69. return await request.delete({ url: `/crm/business/delete?id=` + id })
  70. }
  71. // 导出 CRM 商机 Excel
  72. export const exportBusiness = async (params) => {
  73. return await request.download({ url: `/crm/business/export-excel`, params })
  74. }
  75. // 联系人关联商机列表
  76. export const getBusinessPageByContact = async (params) => {
  77. return await request.get({ url: `/crm/business/page-by-contact`, params })
  78. }
  79. // 获得 CRM 商机列表
  80. export const getBusinessListByIds = async (val: number[]) => {
  81. return await request.get({ url: '/crm/business/list-by-ids', params: { ids: val.join(',') } })
  82. }
  83. // 商机转移
  84. export const transferBusiness = async (data: TransferReqVO) => {
  85. return await request.put({ url: '/crm/business/transfer', data })
  86. }