From 7672f008ef0fc28cf129e8cda561509203515df5 Mon Sep 17 00:00:00 2001 From: zhangjf Date: Sun, 15 Feb 2026 16:33:10 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=8C=E5=96=84=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=20-=20=E8=A7=92=E8=89=B2=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E3=80=81=E8=8F=9C=E5=8D=95=E7=AE=A1=E7=90=86=E3=80=81=E8=81=94?= =?UTF-8?q?=E7=B3=BB=E4=BA=BA=E7=AE=A1=E7=90=86=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增功能: 1. 角色管理 - 分页列表查询,支持按角色名称和状态筛选 - 新增/编辑角色,包含角色编码、名称、类型、数据范围等字段 - 删除角色 - 分配菜单权限(树形选择) 2. 菜单管理 - 树形表格展示菜单层级结构 - 新增/编辑菜单,支持目录、菜单、按钮三种类型 - 添加子菜单 - 删除菜单(检查子菜单) 3. 联系人管理 - 按客户查询联系人列表 - 新增/编辑联系人,包含姓名、职位、部门、电话、邮箱等 - 设置主联系人 - 删除联系人 技术优化: - 创建 role.js 和 menu.js API 接口文件 - 修复 RoleController 分配菜单接口(POST + @RequestBody) - 统一表单验证和错误提示 - 优化树形组件数据处理 --- fund-admin/src/api/menu.js | 47 +++ fund-admin/src/api/role.js | 54 ++++ fund-admin/src/views/customer/contact.vue | 317 ++++++++++++++++++++- fund-admin/src/views/system/menu.vue | 260 ++++++++++++++++- fund-admin/src/views/system/role.vue | 332 +++++++++++++++++++++- 5 files changed, 1004 insertions(+), 6 deletions(-) create mode 100644 fund-admin/src/api/menu.js create mode 100644 fund-admin/src/api/role.js diff --git a/fund-admin/src/api/menu.js b/fund-admin/src/api/menu.js new file mode 100644 index 0000000..f9cfcfa --- /dev/null +++ b/fund-admin/src/api/menu.js @@ -0,0 +1,47 @@ +import request from './request' + +export const getMenuTree = (params) => { + return request({ + url: '/sys/api/v1/menu/tree', + method: 'get', + params + }) +} + +export const getMenuList = (params) => { + return request({ + url: '/sys/api/v1/menu/list', + method: 'get', + params + }) +} + +export const getMenuDetail = (menuId) => { + return request({ + url: `/sys/api/v1/menu/${menuId}`, + method: 'get' + }) +} + +export const createMenu = (data) => { + return request({ + url: '/sys/api/v1/menu', + method: 'post', + data + }) +} + +export const updateMenu = (menuId, data) => { + return request({ + url: `/sys/api/v1/menu/${menuId}`, + method: 'put', + data + }) +} + +export const deleteMenu = (menuId) => { + return request({ + url: `/sys/api/v1/menu/${menuId}`, + method: 'delete' + }) +} diff --git a/fund-admin/src/api/role.js b/fund-admin/src/api/role.js new file mode 100644 index 0000000..3bb9b25 --- /dev/null +++ b/fund-admin/src/api/role.js @@ -0,0 +1,54 @@ +import request from './request' + +export const getRoleList = (params) => { + return request({ + url: '/sys/api/v1/role/list', + method: 'get', + params + }) +} + +export const getRoleDetail = (roleId) => { + return request({ + url: `/sys/api/v1/role/${roleId}`, + method: 'get' + }) +} + +export const createRole = (data) => { + return request({ + url: '/sys/api/v1/role', + method: 'post', + data + }) +} + +export const updateRole = (roleId, data) => { + return request({ + url: `/sys/api/v1/role/${roleId}`, + method: 'put', + data + }) +} + +export const deleteRole = (roleId) => { + return request({ + url: `/sys/api/v1/role/${roleId}`, + method: 'delete' + }) +} + +export const getRoleMenuIds = (roleId) => { + return request({ + url: `/sys/api/v1/role/${roleId}/menus`, + method: 'get' + }) +} + +export const assignRoleMenus = (roleId, menuIds) => { + return request({ + url: `/sys/api/v1/role/${roleId}/menus`, + method: 'post', + data: { menuIds } + }) +} diff --git a/fund-admin/src/views/customer/contact.vue b/fund-admin/src/views/customer/contact.vue index af3361f..d6f06ae 100644 --- a/fund-admin/src/views/customer/contact.vue +++ b/fund-admin/src/views/customer/contact.vue @@ -4,14 +4,323 @@ -

联系人管理页面 - 开发中

+ + + + + + + + + + + + + 查询 + 重置 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fund-admin/src/views/system/menu.vue b/fund-admin/src/views/system/menu.vue index 8bf4296..2abef5c 100644 --- a/fund-admin/src/views/system/menu.vue +++ b/fund-admin/src/views/system/menu.vue @@ -4,14 +4,270 @@ -

菜单管理页面 - 开发中

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +