customer.ts 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312
  1. import { request } from 'umi'
  2. /**
  3. * 获取单位列表
  4. * @param {*} payload
  5. * @returns 结果集
  6. */
  7. export async function queryCustomers(payload) {
  8. return request('/customer/list', {
  9. method: 'POST',
  10. data: payload
  11. })
  12. }
  13. /**
  14. * 新建用户
  15. * @param {*} payload
  16. * @returns
  17. */
  18. export async function createCustomer(payload) {
  19. return request('/customer/add', {
  20. method: 'POST',
  21. data: { ...payload }
  22. })
  23. }
  24. /**
  25. * 获取标签列表
  26. * @param {*} params
  27. */
  28. export async function queryTagList(params) {
  29. return request('/tag/list', { params })
  30. }
  31. /**
  32. * 标签关联/批量更新/替换更新
  33. * @param {*} type
  34. * @param {*} payload
  35. * @returns
  36. */
  37. export async function apiConnOrDelTag({ type, payload }) {
  38. let url = '/tag/link/delete'
  39. if (type) {
  40. url = '/tag/link'
  41. }
  42. return request(url, { method: 'POST', data: payload })
  43. }
  44. /**
  45. * 编辑标签
  46. * @param {*} payload
  47. * @returns
  48. */
  49. export async function apiUpdateTag(payload) {
  50. return request('/tag/update', { method: 'POST', data: payload })
  51. }
  52. /**
  53. * 关联标签-批量数据类型
  54. * @param {*} payload
  55. * @returns
  56. */
  57. export async function apiBatchLink(payload) {
  58. return request('/tag/batch/link', { method: 'POST', data: payload })
  59. }
  60. /**
  61. * 请求客户列表
  62. * @param {*} payload 载荷
  63. */
  64. export async function queryClient(payload) {
  65. return request('/client/list', {
  66. method: 'POST',
  67. data: payload
  68. })
  69. }
  70. /**
  71. * 请求客户列表(根据手机号码)
  72. * @param {*} payload 载荷
  73. */
  74. export async function queryClientWithTelephone(payload) {
  75. return request('/client/telephone', {
  76. method: 'POST',
  77. data: payload
  78. })
  79. }
  80. /**
  81. * 修改客户信息
  82. */
  83. export async function updateClient(payload) {
  84. return request('/client/update', {
  85. method: 'POST',
  86. data: payload
  87. })
  88. }
  89. /**
  90. * 获取客户详情
  91. * @param {string} id 客户记录id
  92. */
  93. export async function apiClientDetail(id) {
  94. const params = { id }
  95. return request('/client/detail', { params })
  96. }
  97. /**
  98. * 新增客户
  99. * @param {*} payload 载荷
  100. */
  101. export async function apiAddClient(payload) {
  102. return request('/client/add', { method: 'POST', data: { ...payload } })
  103. }
  104. /**
  105. * 新增客户服务日志
  106. * @param {*} payload 载荷
  107. */
  108. export async function apiAddService(payload) {
  109. return request('/serviceLog/add', { method: 'POST', data: { ...payload } })
  110. }
  111. /**
  112. * 新增商机服务日志
  113. * @param {*} payload 载荷
  114. */
  115. export async function apiAddBusiService(payload) {
  116. return request('/business/service/add', { method: 'POST', data: { ...payload } })
  117. }
  118. /**
  119. * 客户更换单位
  120. * @param {*} payload
  121. * @returns
  122. */
  123. // export async function apiChangeCustomer(preUrl, payload) {
  124. // return request(`/${preUrl}/change/customer`, { method: 'POST', data: { ...payload } })
  125. // }
  126. export async function apiChangeCustomer(preUrl, params) {
  127. let url = '/business/change/customer'
  128. if (preUrl === 'client') {
  129. url = '/client/change/customer'
  130. }
  131. if (preUrl === 'software') {
  132. url = '/software/change/customer'
  133. }
  134. if (preUrl === 'RoadEnterprise') {
  135. url = '/RoadPricingv2/company/link/customer'
  136. }
  137. return request(url, {
  138. method: 'POST',
  139. data: params
  140. })
  141. }
  142. /**
  143. * 移除客户的单位关系
  144. * @param {*} payload
  145. * @returns
  146. */
  147. export async function apiDelCustomer(preUrl, payload) {
  148. return request(`/${preUrl}/customer/delete`, { method: 'POST', data: { ...payload } })
  149. }
  150. /**
  151. * 获取单位性质列表
  152. * @returns
  153. */
  154. export async function queryNatures() {
  155. return request('/customer/nature')
  156. }
  157. /**
  158. * 请求单位列表
  159. * @param {*} payload 载荷
  160. */
  161. export async function queryCompany(params) {
  162. return request('/customer/list', {
  163. method: 'POST',
  164. data: { current: 1, ...params }
  165. })
  166. }
  167. /**
  168. * 获取单位详情
  169. * @param {string} id 客户记录id
  170. */
  171. export async function apiCompanyDetail(id) {
  172. const params = { id }
  173. return request('/customer/detail', { params })
  174. }
  175. /**
  176. * 新增单位
  177. * @param {string} data
  178. */
  179. export async function apiAddCompany(payload) {
  180. return request('/customer/add', { method: 'POST', data: payload })
  181. }
  182. /**
  183. * 新增单位服务日志
  184. * @param {*} payload 载荷
  185. */
  186. export async function apiAddCustomerService(payload) {
  187. return request('/customer/service/add', { method: 'POST', data: { ...payload } })
  188. }
  189. /** 获取商机组列表 */
  190. export async function getBusinessGroupList(params) {
  191. return request('/business/group/list', {
  192. method: 'POST',
  193. data: params
  194. })
  195. }
  196. /** 获取商机列表 */
  197. export async function getBusinessList(params) {
  198. return request('/business/list', {
  199. method: 'POST',
  200. data: params
  201. })
  202. }
  203. /** 新增商机 */
  204. export async function addBusiness(params) {
  205. return request('/business/add', {
  206. method: 'POST',
  207. data: params
  208. })
  209. }
  210. /** 获取商机详情 */
  211. export async function getBusinessDetailById(params) {
  212. return request('/business/detail', {
  213. params
  214. })
  215. }
  216. /** 商机/锁库/云版关联客户 */
  217. export async function apiChangeClient(preUrl, params) {
  218. let url = '/business/link/client'
  219. if (preUrl === 'software') {
  220. url = '/software/change/client'
  221. }
  222. if (preUrl === 'RoadPricing') {
  223. url = '/RoadPricing/link/client'
  224. }
  225. if (preUrl === 'RoadPersonal') {
  226. url = '/RoadPricingv2/link/client'
  227. }
  228. if (preUrl === 'RoadEnterprise') {
  229. url = '/RoadPricingv2/company/link/customer'
  230. }
  231. return request(url, {
  232. method: 'POST',
  233. data: params
  234. })
  235. }
  236. /** 设置商机状态 */
  237. export async function changeGroupStatus(params) {
  238. return request('/business/change/group/status', {
  239. method: 'POST',
  240. data: params
  241. })
  242. }
  243. /** 同步单位信息到客户 */
  244. export async function syncToClient(params) {
  245. return request('/customer/sync/client', {
  246. method: 'POST',
  247. data: params
  248. })
  249. }
  250. /** 获取客户来源列表 */
  251. export async function queryClientSourceList() {
  252. return request('/client/source')
  253. }
  254. /** 编辑客户-客户服务日志 */
  255. export async function updateClientService(params: API.ServiceLogItem) {
  256. return request('/serviceLog/update', {
  257. method: 'POST',
  258. data: params
  259. })
  260. }
  261. /** 删除客户-客户服务日志 */
  262. export async function delClientService(params: { id: string }) {
  263. return request('/serviceLog/delete', {
  264. method: 'POST',
  265. data: params
  266. })
  267. }
  268. /** 编辑客户-单位服务日志 */
  269. export async function updateCustomerService(params: API.ServiceLogItem) {
  270. return request('/customer/service/update', {
  271. method: 'POST',
  272. data: params
  273. })
  274. }
  275. /** 删除客户-单位服务日志 */
  276. export async function delCustomerService(params: { id: string }) {
  277. return request('/customer/service/delete', {
  278. method: 'POST',
  279. data: params
  280. })
  281. }