fix(user-management-relation): 优化一些细节,主要是代码格式、带人关系 -> 汇报关系。

This commit is contained in:
dk
2026-04-15 20:46:07 +08:00
parent e22f6550ae
commit 497a0906cf
8 changed files with 43 additions and 47 deletions

View File

@@ -177,7 +177,7 @@
"name": "system_user_management_relation",
"path": "/system/user-management-relation",
"component": "view.system_user-management-relation",
"title": "带人关系",
"title": "汇报关系",
"routeTitle": "system-user-management-relation",
"i18nKey": "",
"icon": null,
@@ -191,7 +191,7 @@
"redirect": null,
"props": null,
"meta": {
"title": "带人关系",
"title": "汇报关系",
"i18nKey": "",
"icon": null,
"localIcon": null,

View File

@@ -176,7 +176,7 @@ const local: App.I18n.Schema = {
system_menu: '菜单管理',
system_post: '岗位管理',
system_dict: '字典管理',
'system_user-management-relation': '带人关系',
'system_user-management-relation': '汇报关系',
exception: '异常页',
exception_403: '403',
exception_404: '404',

View File

@@ -486,9 +486,9 @@ export function fetchAssignUserRoles(data: Api.SystemManage.AssignUserRoleParams
});
}
// ==================== 用户带人关系相关 API ====================
// ==================== 用户汇报关系相关 API ====================
/**
* 获取用户带人关系树形结构
* 获取用户汇报关系树形结构
*
* 用于树形控件展示,包含用户的上下级层级关系
* 树形结构特点:
@@ -505,7 +505,7 @@ export function fetchGetUserManagementRelationTree(query: UserManagementRelation
}
/**
* 通过搜索框的查询条件,获取用户带人关系树形结构
* 通过搜索框的查询条件,获取用户汇报关系树形结构
* 用于树形控件展示,包含用户的上下级层级关系
*/
export function fetchGetUserManagementRelationQuery(query: UserManagementRelationQueryReqVO) {
@@ -517,9 +517,9 @@ export function fetchGetUserManagementRelationQuery(query: UserManagementRelatio
}
/**
* 获取用户带人关系详情
* 获取用户汇报关系详情
*
* 根据主键 ID 查询单条用户带人关系记录
* 根据主键 ID 查询单条用户汇报关系记录
*
* @param id 关系记录主键 ID
*/
@@ -532,9 +532,9 @@ export function fetchGetUserManagementRelation(id: number) {
}
/**
* 创建用户带人关系
* 创建用户汇报关系
*
* 创建新的用户带人关系记录
* 创建新的用户汇报关系记录
*
* @param data 创建请求参数
*/
@@ -547,9 +547,9 @@ export function fetchCreateUserManagementRelation(data: Api.SystemManage.UserMan
}
/**
* 更新用户带人关系
* 更新用户汇报关系
*
* 更新已有的用户带人关系记录
* 更新已有的用户汇报关系记录
*
* @param data 更新请求参数(包含 id
*/
@@ -564,9 +564,9 @@ export function fetchUpdateUserManagementRelation(
}
/**
* 删除用户带人关系
* 删除用户汇报关系
*
* 根据主键 ID 删除单条用户带人关系记录
* 根据主键 ID 删除单条用户汇报关系记录
*
* @param id 关系记录主键 ID
*/
@@ -579,9 +579,9 @@ export function fetchDeleteUserManagementRelation(id: number | null) {
}
/**
* 批量删除用户带人关系
* 批量删除用户汇报关系
*
* 根据主键 ID 列表批量删除用户带人关系记录
* 根据主键 ID 列表批量删除用户汇报关系记录
*
* @param ids 关系记录主键 ID 列表
*/

View File

@@ -316,9 +316,9 @@ declare namespace Api {
}
/**
* 用户带人关系记录
* 用户汇报关系记录
*
* 用于管理用户之间的带人关系,支持多层级上下级关系
* 用于管理用户之间的汇报关系,支持多层级上下级关系
* 对应后端 UserManagementRelationRespVO
*/
interface UserManagementRelation {
@@ -339,7 +339,7 @@ declare namespace Api {
}
/**
* 用户带人关系树形响应 VO
* 用户汇报关系树形响应 VO
*
* 专门用于树形结构展示的响应对象
* 对应后端 UserManagementRelationTreeRespVO
@@ -360,7 +360,7 @@ declare namespace Api {
}
/**
* 用户带人关系保存参数
* 用户汇报关系保存参数
*
* 用于创建和更新操作
* 对应后端 UserManagementRelationSaveReqVO
@@ -381,14 +381,14 @@ declare namespace Api {
}
/**
* 用户带人关系查询参数(列表)
* 用户汇报关系查询参数(列表)
*
* 用于搜索框的查询和导出
* 对应后端 UserManagementRelationQueryReqVO
*/
type UserManagementRelationQueryReqVO = CommonType.RecordNullable<
Pick<UserManagementRelation, 'managerUserId' | 'subordinateUserId'> & {
/** 是否来自带人关系的index组件 */
/** 是否来自汇报关系的index组件 */
fromUserIndex: boolean;
/** 部门ID */
deptId?: number | null;

View File

@@ -1,9 +1,9 @@
<script setup lang="ts">
/**
* 用户带人关系管理 - 主页面
* 用户汇报关系管理 - 主页面
*
* 功能说明:
* - 展示用户带人关系的树形结构
* - 展示用户汇报关系的树形结构
* - 支持节点的展开/折叠
* - 支持单选/多选节点
* - 提供新增、编辑、删除(单个/批量)功能
@@ -34,14 +34,14 @@ defineOptions({ name: 'UserManagementRelation' });
/**
* 组件 userQuery 定义
*
* @param fromUserIndex 是否不是从带人关系 index 页面访问(从 user 页面访问时为 true
* @param fromUserIndex 是否不是从汇报关系 index 页面访问(从 user 页面访问时为 true
*/
interface userQuery {
fromUserIndex?: boolean;
deptId?: number | null;
}
// 从user的index组件访问带人关系fromUserIndex为true否则false; dept=100是灿能电力的id
// 从user的index组件访问汇报关系fromUserIndex为true否则false; dept=100是灿能电力的id
const { fromUserIndex = false, deptId = 100 } = defineProps<userQuery>();
/**
@@ -96,13 +96,13 @@ async function loadUserList() {
/**
* 加载树形数据
*
* 调用后端接口获取完整的用户带人关系树
* 调用后端接口获取完整的用户汇报关系树
*/
async function loadTreeData() {
loading.value = true;
try {
// 默认不是来自user的index组件访问且deptId=100查询灿能电力及其以下所有部门的用户的带人关系
// 默认不是来自user的index组件访问且deptId=100查询灿能电力及其以下所有部门的用户的汇报关系
const query: Api.SystemManage.UserManagementRelationQueryReqVO = {
fromUserIndex,
deptId
@@ -120,7 +120,7 @@ async function loadTreeData() {
/**
* 根据搜索条件查询树形数据
*
* 调用后端接口获取符合条件的用户带人关系树
* 调用后端接口获取符合条件的用户汇报关系树
*
* @param query 查询参数
*/
@@ -202,8 +202,7 @@ function openAdd(item?: Api.SystemManage.UserManagementRelationTreeRespVO) {
operateType.value = 'add';
// 如果是从某一行的新增按钮触发,则默认管理者为当前节点用户
// 否则默认管理者为当前登录用户(在对话框组件中处理)
editingData.value = item
? {
editingData.value = item ? {
id: null,
managerUserId: item.userId,
subordinateUserId: null,
@@ -211,8 +210,7 @@ function openAdd(item?: Api.SystemManage.UserManagementRelationTreeRespVO) {
effectiveUntil: null,
remark: null,
createTime: Date.now()
}
: null;
} : null;
openOperateModal();
}
@@ -224,8 +222,7 @@ function openAdd(item?: Api.SystemManage.UserManagementRelationTreeRespVO) {
function openEdit(item: Api.SystemManage.UserManagementRelationTreeRespVO) {
operateType.value = 'edit';
// 构建树节点数据为编辑所需格式
editingData.value = item.id
? {
editingData.value = item.id ? {
id: item.id,
managerUserId: item.managerUserId,
subordinateUserId: item.userId,
@@ -233,8 +230,7 @@ function openEdit(item: Api.SystemManage.UserManagementRelationTreeRespVO) {
effectiveUntil: null,
remark: null,
createTime: Date.now()
}
: null;
} : null;
openOperateModal();
}
@@ -345,7 +341,7 @@ onMounted(async () => {
<template #header>
<div class="flex items-center justify-between gap-12px">
<div class="flex items-center gap-10px">
<p>用户带人关系树</p>
<p>用户汇报关系树</p>
<ElTag effect="plain">{{ countTreeNodes(treeData) }}</ElTag>
</div>
<div class="flex items-center gap-10px">

View File

@@ -1,10 +1,10 @@
<script setup lang="ts">
/**
* 用户带人关系操作对话框
* 用户汇报关系操作对话框
*
* 功能说明:
* - 新增用户带人关系
* - 编辑用户带人关系
* - 新增用户汇报关系
* - 编辑用户汇报关系
* - 表单验证和提交
*
* 表单字段:
@@ -79,8 +79,8 @@ const isEdit = computed(() => props.operateType === 'edit');
*/
const title = computed(() => {
const titleMap: Record<UI.TableOperateType, string> = {
add: '新增用户带人关系',
edit: '编辑用户带人关系'
add: '新增用户汇报关系',
edit: '编辑用户汇报关系'
};
return titleMap[props.operateType];

View File

@@ -1,6 +1,6 @@
<script setup lang="ts">
/**
* 用户带人关系搜索组件
* 用户汇报关系搜索组件
*
* 功能说明:
* - 提供管理者和被管理者用户下拉选择

View File

@@ -651,7 +651,7 @@ onMounted(async () => {
<template #icon>
<icon-ic-round-plus class="text-icon" />
</template>
带人关系
汇报关系
</ElButton>
<ElPopconfirm :title="$t('common.confirmDelete')" @confirm="handleBatchDelete">
<template #reference>
@@ -737,7 +737,7 @@ onMounted(async () => {
<BusinessFormDialog
v-model="userManagementRelationVisible"
title="用户带人关系"
title="用户汇报关系"
preset="lg"
:show-footer="false"
max-body-height="70vh"
@@ -754,7 +754,7 @@ onMounted(async () => {
flex-direction: column;
}
// 带人关系对话框内的搜索框样式优化
// 汇报关系对话框内的搜索框样式优化
:deep(.business-form-dialog) {
width: 800px;
}