Files
mp-java/docs/COLUMN_OPTIMIZATION.md
赵忠林 26311f7030 feat(优化): 表格列优化和移动端模板改进
-表格列优化: 智能字段过滤、列宽优化、可配置的列显示
-移动端模板改进: XML文件关键词搜索优化、移动端模板全面升级
- ShopArticle相关文件更新: 控制器、实体、Mapper、Param、Service等
- 新增列配置模板: columns.config.vue.btl
- 更新列表页面模板: index.tsx.btl、index.vue.btl
- 更新Mapper XML模板: mapper.xml.btl
2025-08-13 03:05:22 +08:00

118 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 表格列优化方案
## 🔍 问题分析
当前生成的 Vue 管理页面会为数据表的每个字段都生成一列,导致:
- 列数过多,界面混乱
- 水平滚动条出现,用户体验差
- 重要信息被淹没在大量字段中
## ✅ 优化方案
### 方案1智能字段过滤已实现
**过滤规则**
- 最多显示 6 列(不包括操作列)
- 自动过滤掉不重要的字段:
- `updateTime` - 更新时间(通常不需要显示)
- `remark` - 备注字段(通常内容较长)
- `description` - 描述字段(通常内容较长)
- `content` - 内容字段(通常内容很长)
**优先显示字段**
1. 主键字段ID
2. 名称/标题类字段
3. 状态字段
4. 创建时间
5. 其他重要业务字段
### 方案2列宽优化
**智能列宽设置**
```javascript
// ID列较窄
width: 90
// 名称/标题列:中等宽度,支持省略号
width: 150, ellipsis: true
// 状态列:较窄
width: 80
// 时间列:固定宽度,格式化显示
width: 120, customRender: ({ text }) => toDateString(text, 'yyyy-MM-dd')
// 其他列:默认宽度
width: 120, ellipsis: true
```
### 方案3可配置的列显示
创建了 `columns.config.vue.btl` 模板,支持:
- 定义所有可用列
- 设置默认显示的列
- 运行时动态控制列的显示/隐藏
## 🎯 使用建议
### 1. 对于字段较多的表
建议手动调整 `maxColumns` 值:
```javascript
var maxColumns = 4; // 减少到4列
```
### 2. 对于特殊业务需求
可以修改过滤条件,添加特定字段:
```javascript
// 添加特定字段到显示列表
if(field.propertyName == 'yourSpecialField') {
// 强制显示这个字段
}
```
### 3. 启用列控制功能
如果需要用户可以控制列的显示,可以:
1. 使用 `columns.config.vue.btl` 模板
2. 添加列显示控制组件
3. 实现列的动态显示/隐藏
## 📋 优化效果
### 优化前
- 显示所有字段可能10+列)
- 界面拥挤,需要水平滚动
- 重要信息不突出
### 优化后
- 最多显示6个重要列
- 界面清爽,信息重点突出
- 自动过滤不重要字段
- 智能列宽设置
## 🔧 自定义配置
如果需要为特定表自定义列显示,可以:
1. **修改过滤条件**
```javascript
// 在模板中添加特定表的处理
<% if(table.name == 'your_table_name'){ %>
// 特定表的列配置
<% } %>
```
2. **调整最大列数**
```javascript
var maxColumns = 8; // 增加到8列
```
3. **添加必显字段**
```javascript
// 某些字段必须显示
if(field.propertyName == 'importantField') {
// 不计入maxColumns限制
}
```
现在生成的表格更加清爽和实用!