用户要求:
1. 用户列表中OA用户ID不要显示 - 该字段只在修改用户时显示
2. 用户名要显示完整 - 确保用户名不会被截断
ruoyi-ui/src/views/system/user/index.vue修改前:
```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">
```
修改前: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 }, // ... ]
关键改动:
- 移除 :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,但在**修改用户对话框**中仍然保留该字段:
<!-- 添加或修改用户配置对话框 -->
<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 行 | 代码更简洁 |
修改后的列宽度分配:
| 列名 | 宽度 | 说明 |
|---|---|---|
| 选择框 | 50px | 固定宽度 |
| 用户编号 | 自适应 | - |
| 用户名称 | 150px | ✅ 固定宽度,确保完整显示 |
| 用户昵称 | 自适应 | tooltip显示 |
| 部门 | 自适应 | tooltip显示 |
| 手机号码 | 120px | 固定宽度 |
| 状态 | 自适应 | 开关组件 |
| 创建时间 | 160px | 固定宽度 |
| 操作 | 160px | 固定宽度 |
❌ 修改前:adminuser123... (被截断)
✅ 修改后:adminuser123456 (完整显示)
// 根据屏幕宽度动态调整
computed: {
userNameWidth() {
return this.$store.getters.device === 'mobile' ? '100' : '150'
}
}
// 确保用户名不会过长
rules: {
userName: [
{ max: 20, message: '用户名称长度不能超过20个字符', trigger: 'blur' }
]
}
// 保存用户自定义的列宽度设置
saveColumnWidth(column, width) {
localStorage.setItem(`column_${column.key}_width`, width)
}
ruoyi-ui/src/views/system/user/index.vueruoyi-ui/src/api/system/user.jsruoyi-system/.../domain/SysUser.java优化时间: 2025-10-26
优化人: AI Assistant
影响范围: 用户管理列表页面
状态: ✅ 已完成