From 8ac97bb3139903d61056d79b64afa2e8ba4932b6 Mon Sep 17 00:00:00 2001 From: zhangjf Date: Mon, 16 Feb 2026 09:48:22 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BA=BA=E5=91=98=E5=88=86=E9=85=8D?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E5=89=8D=E7=AB=AF=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 前端实现: - userAssignment.js: API接口封装(56行,5个接口) - getUserAssignmentList(): 分页查询 - getUserListByDept(): 按部门查询 - assignUser(): 分配用户 - batchAssignUsers(): 批量分配 - removeUserAssignment(): 移除分配 - userAssignment.vue: 人员分配页面(408行) - 搜索功能:用户名、真实姓名、部门(树选择)、岗位、状态 - 表格展示:用户信息、部门标签、岗位标签、职位、状态 - 批量操作:多选批量分配 - 筛选功能:仅显示未分配用户 - 分配对话框:部门树选择、岗位下拉、职位输入 - 移除分配:确认后移除部门/岗位关联 技术特点: - 多条件组合搜索 - 表格多选(el-table selection) - 部门树选择器 - 岗位下拉选择 - 状态标签展示 - 批量分配优化 模块状态:✅ 完整(前端+后端) --- fund-admin/src/api/userAssignment.js | 55 +++ .../src/views/system/userAssignment.vue | 407 ++++++++++++++++++ 2 files changed, 462 insertions(+) create mode 100644 fund-admin/src/api/userAssignment.js create mode 100644 fund-admin/src/views/system/userAssignment.vue diff --git a/fund-admin/src/api/userAssignment.js b/fund-admin/src/api/userAssignment.js new file mode 100644 index 0000000..035e39a --- /dev/null +++ b/fund-admin/src/api/userAssignment.js @@ -0,0 +1,55 @@ +import request from '../utils/request' + +/** + * 获取用户分配列表(分页) + */ +export const getUserAssignmentList = (params) => { + return request({ + url: '/sys/api/v1/user-assignment/list', + method: 'get', + params + }) +} + +/** + * 根据部门ID获取用户列表 + */ +export const getUserListByDept = (deptId) => { + return request({ + url: `/sys/api/v1/user-assignment/list/dept/${deptId}`, + method: 'get' + }) +} + +/** + * 分配用户到部门和岗位 + */ +export const assignUser = (userId, data) => { + return request({ + url: `/sys/api/v1/user-assignment/${userId}`, + method: 'put', + params: data + }) +} + +/** + * 批量分配用户 + */ +export const batchAssignUsers = (userIds, deptId, postId) => { + return request({ + url: '/sys/api/v1/user-assignment/batch', + method: 'put', + data: userIds, + params: { deptId, postId } + }) +} + +/** + * 移除用户分配 + */ +export const removeUserAssignment = (userId) => { + return request({ + url: `/sys/api/v1/user-assignment/${userId}`, + method: 'delete' + }) +} diff --git a/fund-admin/src/views/system/userAssignment.vue b/fund-admin/src/views/system/userAssignment.vue new file mode 100644 index 0000000..f4105be --- /dev/null +++ b/fund-admin/src/views/system/userAssignment.vue @@ -0,0 +1,407 @@ + + + + +