Oejia 技术栈
首页
应用市场
方案
OE学院
分享
关于
编辑器
登录
Odoo 前端开发可用的内置JS功能介绍
admin
on 2017-12-26
### 概述 Odoo 是一个典型的单页应用(SPA),其包含了丰富的前端交互形式,如果我们用好了他的内置的一些js对象,可以为我们实现一些灵活交互功能提供极大帮助,Odoo前端对象基本都集中在odoo、openerp两个命名空间下,下面列举一些常见的用法 ### 遮罩提示 打开遮罩 ``` odoo.__DEBUG__.services['web.framework'].blockUI() ``` 关闭遮罩 ``` odoo.__DEBUG__.services['web.framework'].unblockUI() ``` Odoo的遮罩会自动根据显示的时间显示不同的文案内容 ### 视图跳转/切换 ``` openerp.client.action_manager.do_action(action,{clear_breadcrumbs: true}) ``` 其中action是一个用于描述要跳转到的视图的信息字典,例如: ``` var action = { name: '详细历史报价', type: 'ir.actions.act_window', res_model: 'tender.fs.round', res_id: null, views: [ [false, 'list'], [false, 'form'] ], view_mode: 'list', view_type: 'list', //target: 'new', context: {}, }; ``` `clear_breadcrumbs: true`用于控制是否清除面包屑导航当前层 ### 前端按钮触发调用后台模型方法 ``` onclick="new openerp.web.Model('res.users').call('do_manual_launch',[[]]).then(function(action){ openerp.client.action_manager.do_action(action); })" ``` 上面例子即调用了后端`res.users`模型的`do_manual_launch`方法,并返回了一个需要跳转到的视图action ### 前端视图控制器 获取控制器对象 ``` var ctrl = parent.odoo.__DEBUG__.services['web.web_client'].action_manager.get_inner_action().widget.active_view.controller; ``` 修改导航面包屑标题 ``` ctrl.set('title', '标题内容'); ``` ### 客户端client控制对象 ``` // 获取 web_client 对象 var cli = odoo.__DEBUG__.services['web.web_client']; var cli = openerp.client.action_manager; // 刷新视图页面(可更新按钮的显示状态) cli.do_show(); // 刷新页面 cli.do_reload(); // 通知提示(页面右上角)第三个参数表示通知是否固定在页面不消失,默认false cli.do_warn('标题内容', '提示内容', false); cli.do_notify('标题内容', '提示内容', false); // 设置窗口标题 cli.set_title("窗口标题"); // 执行窗口动作以切换视图 cli.do_action(action); // 获取当前状态 cli._current_state; //获取 domain cli.action_manager.get_inner_action().widget.searchview.build_search_data() ``` ### 模型对象 ``` model = odoo.__DEBUG__.services["web.Model"]("res.users"); model.call("方法名", [变量列表]).then( function(val) { console.log(val) // val为"方法"返回的值 }) ```
Information
Odoo 前端开发可用的内置JS功能介绍
http://www.oejia.net/article/d40fa3263302a238024237480481da7b
http://www.oejia.net/raw/d40fa3263302a238024237480481da7b
admin
on 2017-12-26
Category
Odoo
Related
2017-02-15 :
关于 Odoo 的模板引擎 Qweb
2018-10-24 :
微信模块 Oejia_wx v0.5.4 发布,增加小程序客服聊天支持,支持 Odoo12
2022-04-29 :
微信模块 Oejia_wx v0.6.6 发布,优化扫码事件处理及通讯录变更的同步
2018-02-08 :
Odoo 中的列表页如何默认就显示出筛选及分组功能菜单
2023-04-29 :
微信模块 Oejia_wx v0.6.7 发布,支持 Odoo16 及新的Websocket消息模式
2020-07-04 :
钉钉模块使用说明
2016-04-27 :
DjangoX 之权限控制
2018-01-31 :
Odoo 微信模块文档
2020-06-29 :
Odoo仓库模块实现公司多个仓库间调拨和入库确认
2018-10-24 :
Odoo 12 账号相关的变化
官方订阅号
关注订阅实时了解我们更多分享
分类
(20)
Django (3)
DjangoX (13)
JS (2)
Nginx (1)
Odoo (134)
Python (1)
YouMd (3)
公告说明 (2)
前端 (2)
后端HTTP (7)
异常处理 (1)
桌面UI (1)
移动开发 (4)
About This Entry
Odoo 视图XML常用属性项说明
DjangoX 扩展的命令(commands)使用指南
About This Blog
main index
to find recently
archives
to find all
标签
微信模块发布记录
微信模块
小程序商城
Web
Http
客服系统
审批OA
OE商城
HTML5
Markdown
DjangoX
oeshop
Excel
PyQT
md
Python
解析
YouPBX
服系统
示例
markdown
最近发布
Odoo 微信小程序商城模块 Oejia_weshop v0.1.1 发布
Oejia_wx v0.4.0 发布,支持 Odoo10 的微信模块
DjangoX App 配置和菜单组设置介绍
Odoo 微信小程序商城模块 Oejia_weshop 常见问题处理
微信模块 Oejia_wx v0.5.8 发布,多会话客服消息支持及素材图文方面增强
Odoo 低版本升级到 Odoo15 的处理集锦
Odoo商城模块 Oejia_weshop v1.0.1 发布,统一强大的后台多种客户端支持
钉钉消息通知及审批功能的使用说明
新版开启2016年新篇章
Friend Links
Oejia技术梦博客分享
YouMd,爱上MarkDown
Mole轻量级wsgi架子