55 lines
1.5 KiB
Markdown
55 lines
1.5 KiB
Markdown
# k_ry_mobile_form - 科瑞移动端表单优化模块
|
|
|
|
## 功能说明
|
|
|
|
此模块为 Odoo 17 的 form 视图添加移动端优化功能:
|
|
- 在手机浏览器中,form 视图 header 的工具按钮栏会悬浮在屏幕底部
|
|
- 提供类似正常 APP 的底部按钮栏体验
|
|
- 桌面端不受影响,保持原有显示方式
|
|
|
|
## 依赖
|
|
|
|
- `base`
|
|
- `web`
|
|
|
|
## 安装
|
|
|
|
1. 将模块放置在 Odoo 的 addons 目录下
|
|
2. 更新应用列表
|
|
3. 安装 `k_ry_mobile_form` 模块
|
|
|
|
## 技术实现
|
|
|
|
### 文件结构
|
|
|
|
```
|
|
k_ry_mobile_form/
|
|
├── __init__.py
|
|
├── __manifest__.py
|
|
├── README.md
|
|
└── static/
|
|
└── src/
|
|
├── js/
|
|
│ └── status_bar_buttons.js # 覆盖 StatusBarButtons 组件模板
|
|
├── xml/
|
|
│ └── status_bar_buttons.xml # 新的模板定义
|
|
└── scss/
|
|
└── status_bar_buttons.scss # 移动端底部悬浮栏样式
|
|
```
|
|
|
|
### 实现原理
|
|
|
|
1. **JavaScript 覆盖**:使用 `patch` 方法覆盖 `StatusBarButtons` 组件的模板
|
|
2. **模板替换**:提供新的模板,根据 `env.isSmall` 判断显示方式
|
|
3. **样式隔离**:使用媒体查询确保移动端和桌面端样式互不影响
|
|
|
|
## 使用说明
|
|
|
|
安装模块后,无需额外配置。在手机浏览器中打开任何包含 header 的 form 视图时,工具按钮栏会自动显示在底部。
|
|
|
|
## 注意事项
|
|
|
|
- 此模块只影响 form 视图的 header 按钮栏
|
|
- 桌面端完全不受影响
|
|
- 支持 iOS 设备的底部安全区域(safe area)
|