diff --git a/.env.local b/.env.local index 925808d83..35765584d 100644 --- a/.env.local +++ b/.env.local @@ -4,7 +4,7 @@ NODE_ENV=development VITE_DEV=true # 请求路径 -VITE_BASE_URL='http://172.22.3.6:48080' +VITE_BASE_URL='http://localhost:48080' # 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持 S3 服务 VITE_UPLOAD_TYPE=server diff --git a/src/api/crm/customer-complaints/index.ts b/src/api/crm/customer-complaints/index.ts new file mode 100644 index 000000000..bcbebc137 --- /dev/null +++ b/src/api/crm/customer-complaints/index.ts @@ -0,0 +1,39 @@ +import request from '@/config/axios' + +// 客户投诉 VO +export interface CustomerComplaintsVO { + id:number //ID + customerId: number // 客户ID + complaintLevel: number // 投诉级别 + complaintMethod: number // 投诉方式 + complaintUserId: number // 投诉人ID + accusedComplaintUserId: number // 被投诉人ID + processingEfficiency: number // 处理时效:天 + feedbackProblem: string // 事件描述 + suggestion: string // 投诉附件 + startUserSelectAssignees:object //发起人自选审批人 ,示例:{taskKey1:[1, 2],taskKey2:[1,2]} + processInstanceId:string //流程编号 +} + +// 客户投诉 API +export const CustomerComplaintsApi = { + // 查询客户投诉分页 + getCustomerComplaintsPage: async (params: any) => { + return await request.get({ url: `/crm/customer-complaints/page`, params }) + }, + + // 查询客户投诉详情 + getCustomerComplaints: async (id: number) => { + return await request.get({ url: `/crm/customer-complaints/get?id=` + id }) + }, + + // 新增客户投诉 + createCustomerComplaints: async (data: CustomerComplaintsVO) => { + return await request.post({ url: `/crm/customer-complaints/create`, data }) + }, + + // 导出客户投诉 Excel + exportCustomerComplaints: async (params) => { + return await request.download({ url: `/crm/customer-complaints/export-excel`, params }) + }, +} diff --git a/src/components/UserSelectForm/index.vue b/src/components/UserSelectForm/index.vue index 5ed99f86e..1c9e8bc9c 100644 --- a/src/components/UserSelectForm/index.vue +++ b/src/components/UserSelectForm/index.vue @@ -124,7 +124,7 @@ const filterUserList = async (deptId?: number) => { /** 提交选择 */ const submitForm = async () => { try { - message.success(t('common.updateSuccess')) + // message.success(t('common.updateSuccess')) dialogVisible.value = false // 从所有用户列表中筛选出已选择的用户 const emitUserList = userList.value.filter((user: any) => diff --git a/src/router/modules/remaining.ts b/src/router/modules/remaining.ts index 389094453..31c074ef7 100644 --- a/src/router/modules/remaining.ts +++ b/src/router/modules/remaining.ts @@ -634,6 +634,30 @@ const remainingRouter: AppRouteRecordRaw[] = [ title: '新增客户建议', activeMenu: '/crm/customer-suggestion' } + }, + { + path: 'customer-complaints/detail', + component: () => import('@/views/crm/customer-complaints/detail.vue'), + name: 'CustomerComplaintsDetail', + meta: { + noCache: true, + hidden: true, + canTo: true, + title: '客户投诉详情', + activeMenu: '/crm/customer-complaints' + } + }, + { + path: 'customer-complaints/create', + component: () => import('@/views/crm/customer-complaints/create.vue'), + name: 'CustomerComplaintsCreate', + meta: { + noCache: true, + hidden: true, + canTo: true, + title: '新增客户投诉', + activeMenu: '/crm/customer-complaints' + } } ] }, diff --git a/src/utils/dict.ts b/src/utils/dict.ts index a2d9b8ae7..35c95077b 100644 --- a/src/utils/dict.ts +++ b/src/utils/dict.ts @@ -223,6 +223,9 @@ export enum DICT_TYPE { CRM_COOPERATION_AREA = "crm_cooperation_area", //CRM 合作地区 CRM_CUSTOMER_STSTUS = "crm_customer_status", //CRM 客户状态 CRM_RETURN_VISIT_STSTUS = "crm_return_visit_type", //CRM 回访类型 + CRM_COMPLAINT_METHOD = "crm_complaint_method", // 投诉方式 + CRM_COMPLAINT_LEVEL = "crm_complaint_level", // 投诉级别 + // ========== ERP - 企业资源计划模块 ========== ERP_AUDIT_STATUS = 'erp_audit_status', // ERP 审批状态 diff --git a/src/views/crm/customer-complaints/create.vue b/src/views/crm/customer-complaints/create.vue new file mode 100644 index 000000000..c9508ec48 --- /dev/null +++ b/src/views/crm/customer-complaints/create.vue @@ -0,0 +1,287 @@ + + + diff --git a/src/views/crm/customer-complaints/detail.vue b/src/views/crm/customer-complaints/detail.vue new file mode 100644 index 000000000..b4c6b3430 --- /dev/null +++ b/src/views/crm/customer-complaints/detail.vue @@ -0,0 +1,115 @@ + + diff --git a/src/views/crm/customer-complaints/index.vue b/src/views/crm/customer-complaints/index.vue new file mode 100644 index 000000000..188449226 --- /dev/null +++ b/src/views/crm/customer-complaints/index.vue @@ -0,0 +1,355 @@ + + + diff --git a/src/views/crm/customer-suggestion/detail.vue b/src/views/crm/customer-suggestion/detail.vue index 70d3effa5..33ede8507 100644 --- a/src/views/crm/customer-suggestion/detail.vue +++ b/src/views/crm/customer-suggestion/detail.vue @@ -6,11 +6,6 @@ - - {{ detailData.id }} - - - {{ detailData.customerName }} @@ -25,51 +20,30 @@ - + {{ detailData.feedbackUserName }} - - - + {{ detailData.feedbackDeptName }} - - {{ detailData.processInstanceId }} - - - - - + {{ detailData.creatorName }} - - {{ formatDate(detailData.createTime, 'YYYY-MM-DD HH:mm:ss') }} - - diff --git a/src/views/crm/customer-suggestion/index.vue b/src/views/crm/customer-suggestion/index.vue index 33d9167f2..9168750d7 100644 --- a/src/views/crm/customer-suggestion/index.vue +++ b/src/views/crm/customer-suggestion/index.vue @@ -125,18 +125,17 @@ - - - - - - - + + + + - + + + - + + +