Files
gzth/k_ry_mobile_form
李鹏宇 5160e369fb Merge branch 'master' into dev_zhou
# Conflicts:
#	k_ry_mobile_form/static/src/js/status_bar_buttons.js
#	k_ry_mobile_form/static/src/scss/status_bar_buttons.scss
2026-01-23 15:41:24 +08:00
..
2026-01-22 20:39:46 +08:00

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)