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

@@ -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;
}