index.ts 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import request from '@/config/axios'
  2. export interface PermissionVO {
  3. id?: number // 数据权限编号
  4. userId: number // 用户编号
  5. bizType: number // Crm 类型
  6. bizId: number // Crm 类型数据编号
  7. level: number // 权限级别
  8. toBizTypes?: number[] // 同时添加至
  9. deptName?: string // 部门名称
  10. nickname?: string // 用户昵称
  11. postNames?: string[] // 岗位名称数组
  12. createTime?: Date
  13. ids?: number[]
  14. }
  15. export interface TransferReqVO {
  16. id: number // 模块编号
  17. newOwnerUserId: number // 新负责人的用户编号
  18. oldOwnerPermissionLevel?: number // 老负责人加入团队后的权限级别
  19. toBizTypes?: number[] // 转移客户时,需要额外有【联系人】【商机】【合同】的 checkbox 选择
  20. }
  21. /**
  22. * CRM 业务类型枚举
  23. *
  24. * @author HUIHUI
  25. */
  26. export enum BizTypeEnum {
  27. CRM_CLUE = 1, // 线索
  28. CRM_CUSTOMER = 2, // 客户
  29. CRM_CONTACT = 3, // 联系人
  30. CRM_BUSINESS = 4, // 商机
  31. CRM_CONTRACT = 5, // 合同
  32. CRM_PRODUCT = 6, // 产品
  33. CRM_RECEIVABLE = 7, // 回款
  34. CRM_RECEIVABLE_PLAN = 8 // 回款计划
  35. }
  36. /**
  37. * CRM 数据权限级别枚举
  38. */
  39. export enum PermissionLevelEnum {
  40. OWNER = 1, // 负责人
  41. READ = 2, // 只读
  42. WRITE = 3 // 读写
  43. }
  44. // 获得数据权限列表(查询团队成员列表)
  45. export const getPermissionList = async (params) => {
  46. return await request.get({ url: `/crm/permission/list`, params })
  47. }
  48. // 创建数据权限(新增团队成员)
  49. export const createPermission = async (data: PermissionVO) => {
  50. return await request.post({ url: `/crm/permission/create`, data })
  51. }
  52. // 编辑数据权限(修改团队成员权限级别)
  53. export const updatePermission = async (data) => {
  54. return await request.put({ url: `/crm/permission/update`, data })
  55. }
  56. // 删除数据权限(删除团队成员)
  57. export const deletePermissionBatch = async (val: number[]) => {
  58. return await request.delete({ url: '/crm/permission/delete?ids=' + val.join(',') })
  59. }
  60. // 删除自己的数据权限(退出团队)
  61. export const deleteSelfPermission = async (id: number) => {
  62. return await request.delete({ url: '/crm/permission/delete-self?id=' + id })
  63. }