From 6369b334e311f5cc402685d230df8d453d4c5007 Mon Sep 17 00:00:00 2001 From: Wanwan <913752709@qq.com> Date: Sat, 11 Nov 2023 20:50:33 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20CRM=20=E5=AE=A2=E6=88=B7=E9=99=90?= =?UTF-8?q?=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/crm/customerLimitConfig/index.ts | 35 +++ src/api/system/user/index.ts | 5 + .../CustomerLimitConfigForm.vue | 222 ++++++++++++++++++ .../CustomerQuantityLimit.vue | 130 ++++++++++ .../customerLimitConfig/customerLimitConf.ts | 13 + src/views/crm/customerLimitConfig/index.vue | 20 ++ src/views/crm/customerPoolConf/index.vue | 4 +- 7 files changed, 427 insertions(+), 2 deletions(-) create mode 100644 src/api/crm/customerLimitConfig/index.ts create mode 100644 src/views/crm/customerLimitConfig/CustomerLimitConfigForm.vue create mode 100644 src/views/crm/customerLimitConfig/CustomerQuantityLimit.vue create mode 100644 src/views/crm/customerLimitConfig/customerLimitConf.ts create mode 100644 src/views/crm/customerLimitConfig/index.vue diff --git a/src/api/crm/customerLimitConfig/index.ts b/src/api/crm/customerLimitConfig/index.ts new file mode 100644 index 00000000..22fde3ea --- /dev/null +++ b/src/api/crm/customerLimitConfig/index.ts @@ -0,0 +1,35 @@ +import request from '@/config/axios' + +export interface CustomerLimitConfigVO { + id?: number + type?: number + userIds?: string + deptIds?: string + maxCount?: number + dealCountEnabled?: boolean +} + +// 查询客户限制配置列表 +export const getCustomerLimitConfigPage = async (params) => { + return await request.get({ url: `/crm/customer-limit-config/page`, params }) +} + +// 查询客户限制配置详情 +export const getCustomerLimitConfig = async (id: number) => { + return await request.get({ url: `/crm/customer-limit-config/get?id=` + id }) +} + +// 新增客户限制配置 +export const createCustomerLimitConfig = async (data: CustomerLimitConfigVO) => { + return await request.post({ url: `/crm/customer-limit-config/create`, data }) +} + +// 修改客户限制配置 +export const updateCustomerLimitConfig = async (data: CustomerLimitConfigVO) => { + return await request.put({ url: `/crm/customer-limit-config/update`, data }) +} + +// 删除客户限制配置 +export const deleteCustomerLimitConfig = async (id: number) => { + return await request.delete({ url: `/crm/customer-limit-config/delete?id=` + id }) +} diff --git a/src/api/system/user/index.ts b/src/api/system/user/index.ts index 6224f0e8..689fec0d 100644 --- a/src/api/system/user/index.ts +++ b/src/api/system/user/index.ts @@ -22,6 +22,11 @@ export const getUserPage = (params: PageParam) => { return request.get({ url: '/system/user/page', params }) } +// 查询所有用户列表 +export const getAllUser = () => { + return request.get({ url: '/system/user/all' }) +} + // 查询用户详情 export const getUser = (id: number) => { return request.get({ url: '/system/user/get?id=' + id }) diff --git a/src/views/crm/customerLimitConfig/CustomerLimitConfigForm.vue b/src/views/crm/customerLimitConfig/CustomerLimitConfigForm.vue new file mode 100644 index 00000000..006c1349 --- /dev/null +++ b/src/views/crm/customerLimitConfig/CustomerLimitConfigForm.vue @@ -0,0 +1,222 @@ + + diff --git a/src/views/crm/customerLimitConfig/CustomerQuantityLimit.vue b/src/views/crm/customerLimitConfig/CustomerQuantityLimit.vue new file mode 100644 index 00000000..fec9acb4 --- /dev/null +++ b/src/views/crm/customerLimitConfig/CustomerQuantityLimit.vue @@ -0,0 +1,130 @@ + + + diff --git a/src/views/crm/customerLimitConfig/customerLimitConf.ts b/src/views/crm/customerLimitConfig/customerLimitConf.ts new file mode 100644 index 00000000..188e6ef4 --- /dev/null +++ b/src/views/crm/customerLimitConfig/customerLimitConf.ts @@ -0,0 +1,13 @@ +/** + * 客户限制配置类型 + */ +export enum LimitConfType { + /** + * 拥有客户数限制 + */ + CUSTOMER_QUANTITY_LIMIT = 1, + /** + * 锁定客户数限制 + */ + CUSTOMER_LOCK_LIMIT = 2 +} diff --git a/src/views/crm/customerLimitConfig/index.vue b/src/views/crm/customerLimitConfig/index.vue new file mode 100644 index 00000000..49582ca1 --- /dev/null +++ b/src/views/crm/customerLimitConfig/index.vue @@ -0,0 +1,20 @@ + + + diff --git a/src/views/crm/customerPoolConf/index.vue b/src/views/crm/customerPoolConf/index.vue index 1ea61f94..92467fee 100644 --- a/src/views/crm/customerPoolConf/index.vue +++ b/src/views/crm/customerPoolConf/index.vue @@ -87,7 +87,6 @@ const getConfig = async () => { return } formData.value = data - console.log(formData.value) } finally { formLoading.value = false } @@ -107,7 +106,8 @@ const onSubmit = async () => { const data = formData.value as unknown as CustomerPoolConfApi.CustomerPoolConfigVO await CustomerPoolConfApi.updateCustomerPoolConfig(data) message.success(t('common.updateSuccess')) - dialogVisible.value = false + await getConfig() + formLoading.value = false } finally { formLoading.value = false }