diff --git a/src/service/api/system-manage.ts b/src/service/api/system-manage.ts index ca7c135..f2b4fec 100644 --- a/src/service/api/system-manage.ts +++ b/src/service/api/system-manage.ts @@ -667,7 +667,7 @@ export function fetchAssignUserRoles(data: Api.SystemManage.AssignUserRoleParams * - 中间节点:有上级也有下级 * - 叶子节点:基层员工,没有下级 */ -export function fetchGetUserManagementRelationTree(query: UserManagementRelationQueryReqVO) { +export async function fetchGetUserManagementRelationTree(query: UserManagementRelationQueryReqVO) { return request({ ...safeJsonRequestConfig, url: `${USER_MANAGEMENT_RELATION_PREFIX}/tree`, @@ -684,7 +684,7 @@ export function fetchGetUserManagementRelationTree(query: UserManagementRelation * 通过搜索框的查询条件,获取用户管理链路树形结构 * 用于树形控件展示,包含用户的上下级层级关系 */ -export function fetchGetUserManagementRelationQuery(query: UserManagementRelationQueryReqVO) { +export async function fetchGetUserManagementRelationQuery(query: UserManagementRelationQueryReqVO) { return request({ ...safeJsonRequestConfig, url: `${USER_MANAGEMENT_RELATION_PREFIX}/query`, @@ -704,7 +704,7 @@ export function fetchGetUserManagementRelationQuery(query: UserManagementRelatio * * @param id 关系记录主键 ID */ -export function fetchGetUserManagementRelation(id: string) { +export async function fetchGetUserManagementRelation(id: string) { return request({ ...safeJsonRequestConfig, url: `${USER_MANAGEMENT_RELATION_PREFIX}/get`, @@ -722,7 +722,7 @@ export function fetchGetUserManagementRelation(id: string) { * * @param data 创建请求参数 */ -export function fetchCreateUserManagementRelation(data: Api.SystemManage.UserManagementRelationSaveReqVO) { +export async function fetchCreateUserManagementRelation(data: Api.SystemManage.UserManagementRelationSaveReqVO) { return request({ ...safeJsonRequestConfig, url: `${USER_MANAGEMENT_RELATION_PREFIX}/create`, @@ -776,3 +776,22 @@ export function fetchBatchDeleteUserManagementRelation(ids: string[]) { method: 'delete' }); } + +/** + * 获取未绑定直属上级的候选下级用户列表 + * + * 用于获取尚未绑定直属上级的用户列表,供选择使用 + * + * @returns 候选下级用户列表 + */ +export async function fetchGetCandidateSubordinateUsers() { + return request({ + ...safeJsonRequestConfig, + url: `${USER_MANAGEMENT_RELATION_PREFIX}/candidate-users`, + method: 'get' + }).then(result => + mapServiceResult(result as ServiceRequestResult, data => data.map(normalizeUserSimple)) + ); +} + + diff --git a/src/typings/api/product.d.ts b/src/typings/api/product.d.ts index 2f64edd..672032d 100644 --- a/src/typings/api/product.d.ts +++ b/src/typings/api/product.d.ts @@ -250,17 +250,17 @@ declare namespace Api { moduleId: string; /** 是否需要评审(0不需要;1需要) */ reviewRequired: RequirementReviewRequired; - /** 需求标题 */ + /** 需求名称 */ title: string; - /** 需求描述(富文本) */ + /** 需求内容(富文本) */ description?: string | null; - /** 需求分类字典值 */ + /** 需求类型字典值 */ category: string; - /** 需求分类名称 */ + /** 需求类型名称 */ categoryName?: string | null; - /** 来源类型 */ + /** 需求来源类型 */ sourceType: RequirementSourceType; - /** 来源业务ID */ + /** 需求来源业务ID */ sourceBizId?: string | null; /** 优先级(0低 1中 2高 3紧急) */ priority: RequirementPriority; @@ -282,10 +282,8 @@ declare namespace Api { currentHandlerUserNickname?: string | null; /** 默认实现项目编号 */ implementProjectId?: string | null; - /** 实现项目名称 */ - implementProjectName?: string | null; - /** 预期完成时间 */ - completionDate: string; + /** 所需工时(小时) */ + workHours: number; /** 排序值 */ sort: number; /** 创建时间 */ @@ -378,9 +376,11 @@ declare namespace Api { | 'category' | 'priority' | 'proposerId' + | 'proposerNickname' | 'currentHandlerUserId' + | 'currentHandlerUserNickname' | 'implementProjectId' - | 'completionDate' + | 'workHours' | 'sort' >; @@ -415,8 +415,10 @@ declare namespace Api { | 'category' | 'priority' | 'proposerId' + | 'proposerNickname' | 'currentHandlerUserId' - | 'completionDate' + | 'currentHandlerUserNickname' + | 'workHours' | 'sort' >; diff --git a/src/typings/components.d.ts b/src/typings/components.d.ts index 00caf34..a7280f6 100644 --- a/src/typings/components.d.ts +++ b/src/typings/components.d.ts @@ -102,6 +102,7 @@ declare module 'vue' { IconGridiconsFullscreenExit: typeof import('~icons/gridicons/fullscreen-exit')['default'] 'IconIc:roundPlus': typeof import('~icons/ic/round-plus')['default'] 'IconIconParkOutline:equalRatio': typeof import('~icons/icon-park-outline/equal-ratio')['default'] + IconIcRoundChevronRight: typeof import('~icons/ic/round-chevron-right')['default'] IconIcRoundDelete: typeof import('~icons/ic/round-delete')['default'] IconIcRoundEdit: typeof import('~icons/ic/round-edit')['default'] IconIcRoundPlus: typeof import('~icons/ic/round-plus')['default'] diff --git a/src/views/product/requirement/index.vue b/src/views/product/requirement/index.vue index ccb3d74..2d9d811 100644 --- a/src/views/product/requirement/index.vue +++ b/src/views/product/requirement/index.vue @@ -1,11 +1,12 @@