编辑 | blame | 历史 | 原始文档

用户列表显示优化说明

需求背景

用户要求:
1. 用户列表中OA用户ID不要显示 - 该字段只在修改用户时显示
2. 用户名要显示完整 - 确保用户名不会被截断

修改内容

文件:ruoyi-ui/src/views/system/user/index.vue

1. 隐藏OA用户ID列

修改前
```vue
<el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">




{{ scope.row.oaUserId }}
-

<el-table-column label="用户名称" align="center" key="userName" prop="userName" v-if="columns[2].visible" :show-overflow-tooltip="true" />

```

修改后
```vue
<el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">




```

2. 设置OA用户ID列默认隐藏

修改前
javascript // 列信息 columns: [ { key: 0, label: `用户编号`, visible: true }, { key: 1, label: `OA用户ID`, visible: true }, // ❌ 默认显示 { key: 2, label: `用户名称`, visible: true }, // ... ]

修改后
javascript // 列信息(OA用户ID列默认隐藏) columns: [ { key: 0, label: `用户编号`, visible: true }, { key: 1, label: `OA用户ID`, visible: false }, // ✅ 默认隐藏 { key: 2, label: `用户名称`, visible: true }, // ... ]

3. 优化用户名显示

关键改动
- 移除 :show-overflow-tooltip="true" 属性
- 添加固定宽度 width="150"
- 确保用户名完整显示,不被省略

对比
```vue

<el-table-column label="用户名称" :show-overflow-tooltip="true" />


```

界面效果对比

修改前

选择 用户编号 OA用户ID 用户名称 用户昵称 部门 手机号码 状态 创建时间 操作
☑️ 100 12345 admin 管理员 总公司 138... 正常 2024-01-01 修改 删除
101 67890 zhangsan 张三 市场部 139... 正常 2024-01-02 修改 删除

问题
- ❌ OA用户ID列占用空间
- ⚠️ 用户名可能被截断显示为 "admin..."

修改后

选择 用户编号 用户名称 用户昵称 部门 手机号码 状态 创建时间 操作
☑️ 100 admin 管理员 总公司 138... 正常 2024-01-01 修改 删除
101 zhangsan 张三 市场部 139... 正常 2024-01-02 修改 删除

改进
- ✅ OA用户ID列已隐藏
- ✅ 用户名完整显示(150px宽度)
- ✅ 列表更简洁清晰

OA用户ID在编辑表单中保留

虽然列表中隐藏了OA用户ID,但在**修改用户对话框**中仍然保留该字段:

<!-- 添加或修改用户配置对话框 -->
<el-dialog :title="title" :visible.sync="open" width="600px">
  <el-form ref="form" :model="form" :rules="rules" label-width="80px">
    <!-- ... 其他字段 ... -->
    
    <el-row>
      <el-col :span="12">
        <!-- ✅ 编辑表单中保留OA用户ID字段 -->
        <el-form-item label="OA用户ID" prop="oaUserId">
          <el-input v-model="form.oaUserId" placeholder="OA系统的用户ID" type="number" />
        </el-form-item>
      </el-col>
    </el-row>
    
    <!-- ... 其他字段 ... -->
  </el-form>
</el-dialog>

使用场景
- ✅ 新增用户时可以输入OA用户ID
- ✅ 修改用户时可以查看和修改OA用户ID
- ✅ 导入导出功能仍然包含OA用户ID数据

列显示控制功能

用户可以通过**列设置**功能重新显示OA用户ID列:

<!-- 右侧工具栏中的列设置按钮 -->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>

操作步骤
1. 点击表格右上角的列设置图标
2. 在弹出的列表中勾选"OA用户ID"
3. OA用户ID列会重新显示在列表中

默认配置
- OA用户ID:❌ 默认不显示
- 其他列:✅ 默认全部显示

代码变更统计

变更类型 行数 说明
删除表格列 -6 行 删除OA用户ID列定义
修改列配置 1 行 设置OA用户ID默认隐藏
优化用户名列 1 行 增加宽度,移除tooltip
总计 -4 行 代码更简洁

修改影响范围

✅ 不受影响的功能

  1. 数据存储
  • OA用户ID字段仍然保存在数据库中
  • 数据完整性不受影响
  1. 编辑功能
  • 新增用户:可以输入OA用户ID
  • 修改用户:可以查看和修改OA用户ID
  • 编辑表单中该字段完全正常
  1. 导入导出
  • 导入:支持导入OA用户ID数据
  • 导出:导出文件包含OA用户ID
  • 导入模板:包含OA用户ID字段
  1. API接口
  • 查询接口:返回数据包含oaUserId
  • 新增/修改接口:接收oaUserId参数
  • 后端逻辑无需修改

⚠️ 受影响的部分

  1. 列表显示
  • OA用户ID默认不在列表中显示
  • 可通过列设置重新显示
  1. 用户名显示
  • 从省略显示改为完整显示
  • 占用固定150px宽度

表格列宽度配置

修改后的列宽度分配:

列名 宽度 说明
选择框 50px 固定宽度

| 用户编号 | 自适应 | - |
| 用户名称 | 150px | ✅ 固定宽度,确保完整显示 |
| 用户昵称 | 自适应 | tooltip显示 |
| 部门 | 自适应 | tooltip显示 |
| 手机号码 | 120px | 固定宽度 |
| 状态 | 自适应 | 开关组件 |
| 创建时间 | 160px | 固定宽度 |
| 操作 | 160px | 固定宽度 |

用户名称完整显示的优势

1. 可读性更好

❌ 修改前:adminuser123...  (被截断)
✅ 修改后:adminuser123456  (完整显示)

2. 便于识别

  • 用户名是用户的唯一标识
  • 完整显示有助于快速识别和区分用户

3. 减少操作

  • 不需要鼠标悬停查看tooltip
  • 提高操作效率

测试检查清单

  • [ ] 用户列表默认不显示OA用户ID列
  • [ ] 用户名称完整显示,不被截断
  • [ ] 新增用户对话框中显示OA用户ID输入框
  • [ ] 修改用户对话框中显示OA用户ID输入框
  • [ ] 可以通过列设置重新显示OA用户ID列
  • [ ] 导入导出功能正常,包含OA用户ID
  • [ ] 表格布局正常,无错位现象
  • [ ] 其他列显示正常

后续优化建议

1. 响应式列宽

// 根据屏幕宽度动态调整
computed: {
  userNameWidth() {
    return this.$store.getters.device === 'mobile' ? '100' : '150'
  }
}

2. 用户名格式验证

// 确保用户名不会过长
rules: {
  userName: [
    { max: 20, message: '用户名称长度不能超过20个字符', trigger: 'blur' }
  ]
}

3. 列宽度记忆

// 保存用户自定义的列宽度设置
saveColumnWidth(column, width) {
  localStorage.setItem(`column_${column.key}_width`, width)
}

相关文件

  • 用户列表: ruoyi-ui/src/views/system/user/index.vue
  • 用户API: ruoyi-ui/src/api/system/user.js
  • 用户实体: ruoyi-system/.../domain/SysUser.java

兼容性说明

浏览器兼容性

  • ✅ Chrome 60+
  • ✅ Firefox 55+
  • ✅ Safari 11+
  • ✅ Edge 79+

Element UI版本

  • 使用 Element UI 2.x 标准API
  • 无特殊兼容性问题

优化时间: 2025-10-26
优化人: AI Assistant
影响范围: 用户管理列表页面
状态: ✅ 已完成