From 588ef25869f975c62dbdb4d6d96059e8f418595d Mon Sep 17 00:00:00 2001 From: zhangjf Date: Mon, 16 Feb 2026 09:03:00 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=A1=B9=E7=9B=AE=E6=88=90=E5=91=98?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=89=8D=E7=AB=AF=E9=A1=B5=E9=9D=A2=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 前端实现: - projectMember.js: API接口封装(7个接口) - projectMember.vue: 项目成员管理页面 页面特点: - 以项目为维度管理成员 - 角色类型:项目经理/开发/测试/财务/普通成员 - 状态管理:在职/已离开 - 工作量占比:0-100% 模块状态:✅ 完整(前端+后端) --- fund-admin/src/api/projectMember.js | 16 +- .../src/views/project/projectMember.vue | 182 +++++++++++++----- 2 files changed, 137 insertions(+), 61 deletions(-) diff --git a/fund-admin/src/api/projectMember.js b/fund-admin/src/api/projectMember.js index 69600ed..3bde51e 100644 --- a/fund-admin/src/api/projectMember.js +++ b/fund-admin/src/api/projectMember.js @@ -1,9 +1,9 @@ import request from '../utils/request' /** - * 获取项目成员列表 + * 获取项目成员列表(按项目ID) */ -export const getProjectMembers = (projectId) => { +export const getMemberListByProject = (projectId) => { return request({ url: `/proj/api/v1/project-member/list/project/${projectId}`, method: 'get' @@ -11,9 +11,9 @@ export const getProjectMembers = (projectId) => { } /** - * 获取用户参与的项目列表 + * 获取用户的项目列表(按用户ID) */ -export const getUserProjects = (userId) => { +export const getMemberListByUser = (userId) => { return request({ url: `/proj/api/v1/project-member/list/user/${userId}`, method: 'get' @@ -21,7 +21,7 @@ export const getUserProjects = (userId) => { } /** - * 获取成员详情 + * 获取项目成员详情 */ export const getMemberById = (memberId) => { return request({ @@ -33,7 +33,7 @@ export const getMemberById = (memberId) => { /** * 添加项目成员 */ -export const addProjectMember = (data) => { +export const addMember = (data) => { return request({ url: '/proj/api/v1/project-member', method: 'post', @@ -44,7 +44,7 @@ export const addProjectMember = (data) => { /** * 更新项目成员 */ -export const updateProjectMember = (memberId, data) => { +export const updateMember = (memberId, data) => { return request({ url: `/proj/api/v1/project-member/${memberId}`, method: 'put', @@ -55,7 +55,7 @@ export const updateProjectMember = (memberId, data) => { /** * 移除项目成员 */ -export const removeProjectMember = (memberId) => { +export const removeMember = (memberId) => { return request({ url: `/proj/api/v1/project-member/${memberId}`, method: 'delete' diff --git a/fund-admin/src/views/project/projectMember.vue b/fund-admin/src/views/project/projectMember.vue index 7a02f54..4bdf449 100644 --- a/fund-admin/src/views/project/projectMember.vue +++ b/fund-admin/src/views/project/projectMember.vue @@ -1,10 +1,10 @@