From a1d7e81859f554f3a53680cc35f0f49bf1f77098 Mon Sep 17 00:00:00 2001
From: wwf <1971391498@qq.com>
Date: 星期四, 14 五月 2026 14:37:02 +0800
Subject: [PATCH] 导入项目

---
 src/api/crm/permission/index.ts |   72 ++++++++++++++++++++++++++++++++++++
 1 files changed, 72 insertions(+), 0 deletions(-)

diff --git a/src/api/crm/permission/index.ts b/src/api/crm/permission/index.ts
new file mode 100644
index 0000000..4f88b14
--- /dev/null
+++ b/src/api/crm/permission/index.ts
@@ -0,0 +1,72 @@
+import request from '@/config/axios'
+
+export interface PermissionVO {
+  id?: number // 鏁版嵁鏉冮檺缂栧彿
+  userId: number // 鐢ㄦ埛缂栧彿
+  bizType: number // Crm 绫诲瀷
+  bizId: number // Crm 绫诲瀷鏁版嵁缂栧彿
+  level: number // 鏉冮檺绾у埆
+  toBizTypes?: number[] // 鍚屾椂娣诲姞鑷�
+  deptName?: string // 閮ㄩ棬鍚嶇О
+  nickname?: string // 鐢ㄦ埛鏄电О
+  postNames?: string[] // 宀椾綅鍚嶇О鏁扮粍
+  createTime?: Date
+  ids?: number[]
+}
+
+export interface TransferReqVO {
+  id: number // 妯″潡缂栧彿
+  newOwnerUserId: number // 鏂拌礋璐d汉鐨勭敤鎴风紪鍙�
+  oldOwnerPermissionLevel?: number // 鑰佽礋璐d汉鍔犲叆鍥㈤槦鍚庣殑鏉冮檺绾у埆
+  toBizTypes?: number[] // 杞Щ瀹㈡埛鏃讹紝闇�瑕侀澶栨湁銆愯仈绯讳汉銆戙�愬晢鏈恒�戙�愬悎鍚屻�戠殑 checkbox 閫夋嫨
+}
+
+/**
+ * CRM 涓氬姟绫诲瀷鏋氫妇
+ *
+ * @author HUIHUI
+ */
+export enum BizTypeEnum {
+  CRM_CLUE = 1, // 绾跨储
+  CRM_CUSTOMER = 2, // 瀹㈡埛
+  CRM_CONTACT = 3, // 鑱旂郴浜�
+  CRM_BUSINESS = 4, // 鍟嗘満
+  CRM_CONTRACT = 5, // 鍚堝悓
+  CRM_PRODUCT = 6, // 浜у搧
+  CRM_RECEIVABLE = 7, // 鍥炴
+  CRM_RECEIVABLE_PLAN = 8 // 鍥炴璁″垝
+}
+
+/**
+ * CRM 鏁版嵁鏉冮檺绾у埆鏋氫妇
+ */
+export enum PermissionLevelEnum {
+  OWNER = 1, // 璐熻矗浜�
+  READ = 2, // 鍙
+  WRITE = 3 // 璇诲啓
+}
+
+// 鑾峰緱鏁版嵁鏉冮檺鍒楄〃锛堟煡璇㈠洟闃熸垚鍛樺垪琛級
+export const getPermissionList = async (params) => {
+  return await request.get({ url: `/crm/permission/list`, params })
+}
+
+// 鍒涘缓鏁版嵁鏉冮檺锛堟柊澧炲洟闃熸垚鍛橈級
+export const createPermission = async (data: PermissionVO) => {
+  return await request.post({ url: `/crm/permission/create`, data })
+}
+
+// 缂栬緫鏁版嵁鏉冮檺锛堜慨鏀瑰洟闃熸垚鍛樻潈闄愮骇鍒級
+export const updatePermission = async (data) => {
+  return await request.put({ url: `/crm/permission/update`, data })
+}
+
+// 鍒犻櫎鏁版嵁鏉冮檺锛堝垹闄ゅ洟闃熸垚鍛橈級
+export const deletePermissionBatch = async (val: number[]) => {
+  return await request.delete({ url: '/crm/permission/delete?ids=' + val.join(',') })
+}
+
+// 鍒犻櫎鑷繁鐨勬暟鎹潈闄愶紙閫�鍑哄洟闃燂級
+export const deleteSelfPermission = async (id: number) => {
+  return await request.delete({ url: '/crm/permission/delete-self?id=' + id })
+}

--
Gitblit v1.8.0