index.ts 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. import request from '@/config/axios'
  2. import { TransferReqVO } from '@/api/crm/permission'
  3. export interface ContractVO {
  4. id: number
  5. name: string
  6. no: string
  7. customerId: number
  8. customerName?: string
  9. businessId: number
  10. businessName: string
  11. contactLastTime: Date
  12. ownerUserId: number
  13. ownerUserName?: string
  14. ownerUserDeptName?: string
  15. processInstanceId: number
  16. auditStatus: number
  17. orderDate: Date
  18. startTime: Date
  19. endTime: Date
  20. totalProductPrice: number
  21. discountPercent: number
  22. totalPrice: number
  23. totalReceivablePrice: number
  24. signContactId: number
  25. signContactName?: string
  26. signUserId: number
  27. signUserName: string
  28. remark: string
  29. createTime?: Date
  30. creator: string
  31. creatorName: string
  32. updateTime?: Date
  33. products?: [
  34. {
  35. id: number
  36. productId: number
  37. productName: string
  38. productNo: string
  39. productUnit: number
  40. productPrice: number
  41. contractPrice: number
  42. count: number
  43. totalPrice: number
  44. }
  45. ]
  46. }
  47. // 查询 CRM 合同列表
  48. export const getContractPage = async (params) => {
  49. return await request.get({ url: `/crm/contract/page`, params })
  50. }
  51. // 查询 CRM 联系人列表,基于指定客户
  52. export const getContractPageByCustomer = async (params: any) => {
  53. return await request.get({ url: `/crm/contract/page-by-customer`, params })
  54. }
  55. // 查询 CRM 联系人列表,基于指定商机
  56. export const getContractPageByBusiness = async (params: any) => {
  57. return await request.get({ url: `/crm/contract/page-by-business`, params })
  58. }
  59. // 查询 CRM 合同详情
  60. export const getContract = async (id: number) => {
  61. return await request.get({ url: `/crm/contract/get?id=` + id })
  62. }
  63. // 查询 CRM 合同下拉列表
  64. export const getContractSimpleList = async (customerId: number) => {
  65. return await request.get({
  66. url: `/crm/contract/simple-list?customerId=${customerId}`
  67. })
  68. }
  69. // 新增 CRM 合同
  70. export const createContract = async (data: ContractVO) => {
  71. return await request.post({ url: `/crm/contract/create`, data })
  72. }
  73. // 修改 CRM 合同
  74. export const updateContract = async (data: ContractVO) => {
  75. return await request.put({ url: `/crm/contract/update`, data })
  76. }
  77. // 删除 CRM 合同
  78. export const deleteContract = async (id: number) => {
  79. return await request.delete({ url: `/crm/contract/delete?id=` + id })
  80. }
  81. // 导出 CRM 合同 Excel
  82. export const exportContract = async (params) => {
  83. return await request.download({ url: `/crm/contract/export-excel`, params })
  84. }
  85. // 提交审核
  86. export const submitContract = async (id: number) => {
  87. return await request.put({ url: `/crm/contract/submit?id=${id}` })
  88. }
  89. // 合同转移
  90. export const transferContract = async (data: TransferReqVO) => {
  91. return await request.put({ url: '/crm/contract/transfer', data })
  92. }
  93. // 获得待审核合同数量
  94. export const getAuditContractCount = async () => {
  95. return await request.get({ url: '/crm/contract/audit-count' })
  96. }
  97. // 获得即将到期(提醒)的合同数量
  98. export const getRemindContractCount = async () => {
  99. return await request.get({ url: '/crm/contract/remind-count' })
  100. }