yuthon_base/omux_multi_tab/README.md
李鹏宇 cd653ce24c 1
2026-06-04 14:24:28 +08:00

137 lines
4.6 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.

# Omux 多标签页管理器
Odoo 18 的现代化多标签页面管理模块,为 udoo_om_ux 主题量身打造。
## 功能特性
### 🎯 核心功能
- **多标签页管理** - 支持同时打开多个页面,轻松切换
- **智能滚动** - 标签过多时支持横向滚动浏览
- **标签刷新** - 点击刷新按钮快速重载当前标签页
- **快捷关闭** - 支持关闭当前、其他或全部标签页
### 🎨 设计亮点
- **现代化界面** - 采用渐变色背景和平滑过渡动画
- **暗黑模式支持** - 完美适配夜间模式/暗黑主题
- **美观交互** - 悬停效果、激活状态和底部指示条
- **响应式布局** - 适配不同屏幕尺寸
- **智能控件** - 箭头按钮仅在标签溢出时显示,节省空间
- **右键菜单** - 简洁高效的快捷操作菜单
- **移动设备优化** - 手机模式≤576px完全隐藏标签栏节省屏幕空间
### 🚀 交互体验
- **鼠标滚轮滚动** - 支持鼠标滚轮横向滚动标签栏
- **动画效果** - 刷新按钮旋转、关闭按钮缩放等流畅动画
- **自动滚动** - 新标签页自动滚动到可见区域
- **智能激活** - 关闭标签后自动激活最后一个标签
- **菜单联动** - 标签切换时左侧菜单自动高亮对应项
## 安装方法
1. 确保已安装 `web``omux_shared_lib` 模块
2.`omux_multi_tab` 文件夹放入 Odoo addons 目录
3. 更新应用列表
4. 安装 "多标签页管理器" 模块
## 使用说明
### 基本操作
- **打开标签页** - 点击菜单项自动在新标签页中打开
- **切换标签页** - 点击标签栏中的标签进行切换,左侧菜单自动高亮
- **关闭标签页** - 点击标签右侧的 ✕ 按钮
### 快捷菜单
点击右上角菜单按钮(☰)可以:
- 关闭当前标签页
- 关闭其他标签页
- 关闭全部标签页
### 右键菜单
在标签页上点击鼠标右键可以:
- 刷新当前标签页
- 关闭当前标签页
- 关闭其他标签页
- 关闭全部标签页
### 刷新功能
- 激活的标签页左侧会显示刷新按钮(🔄)
- 点击刷新按钮重新加载当前页面
- 刷新时按钮会旋转动画
## 技术实现
### 架构设计
```
omux_multi_tab/
├── __init__.py
├── __manifest__.py
├── README.md
└── static/src/
├── services/
│ └── action_service.js # Action 服务扩展
└── components/
├── action_container.js # ActionContainer 补丁
├── action_container.scss
└── multi_tab/
├── multi_tab.js # 多标签页组件
├── multi_tab.xml # 组件模板
└── multi_tab.scss # 组件样式
```
### 核心组件
- **action_service.js** - 扩展 Odoo 的 action service支持多标签页控制器堆栈管理
- **action_container.js** - 修补 ActionContainer 组件,集成多标签页功能
- **MultiTab** - 自定义 Owl 组件,实现标签页 UI 和交互
### 样式特点
- 使用渐变色和阴影效果
- CSS transitions 实现平滑动画
- 响应式设计支持移动端
- 符合 udoo_om_ux 设计规范
## 📝 最新更新 (v1.0.3)
### 🔧 面包屑显示修复
1. **精准隐藏** - 只隐藏导航栏中的面包屑容器保留Control Panel中的正常面包屑
- 隐藏:`.o_main_navbar .o_navbar_breadcrumbs`(导航栏顶部)
- 保留:`.o_control_panel .breadcrumb`(内容区面包屑)
2. **正常显示路径** - 点击菜单跳转时,面包屑正常显示导航路径
3. **刷新逻辑优化** - 标签刷新时真正重载而不是跳转
- 清除controller stack后重新加载
- 使用 `clearBreadcrumbs: false` 保留面包屑
- 使用 `replace: true` 替换而不是创建新action
### 🎨 主题变量系统 (v1.0.2)
1. **完全集成主题** - 使用 `udoo_om_ux` 主题的SCSS变量和CSS变量
- 背景色:`$o-navbar-background`
- 激活颜色:`--NavBar-entry-backgroundColor--active`
- 文字颜色:`$o-navbar-entry-color`
2. **自动适配主题** - 亮色/暗色模式自动切换
3. **语义化颜色** - 使用主题的语义色系统
- 刷新:`$u-text-info`,关闭:`$u-text-danger`
### ✨ 之前功能 (v1.0.0)
- **智能箭头显示** - 箭头按钮仅在标签溢出时显示
- **简化菜单文字** - 右键菜单更简洁
- **左侧菜单联动** - 标签切换时自动高亮对应菜单
## 浏览器兼容性
- ✅ Chrome 90+
- ✅ Firefox 88+
- ✅ Safari 14+
- ✅ Edge 90+
## 许可证
LGPL-3
## 作者
Sveltware Solutions
## 技术支持
如有问题或建议,请联系: jupetern24@gmail.com