Odoo 前端开发可用的内置JS功能介绍 - Oejia 技术栈,企业方案分享、Odoo顾问
Oejia 技术栈
主页
分享
微信模块
索引
关于
订阅
编辑器
登录
Odoo 前端开发可用的内置JS功能介绍
admin
on 2017-12-26 13:27:09
### 概述 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/blog/2017/12/26/odoo_frontend_js_obj.html
http://www.oejia.net/raw/2017/12/26/odoo_frontend_js_obj.md
admin
on 2017-12-26 13:27:09
Category
Odoo
Tag
Related
2019-01-29 :
Odoo 前端扩展之—增加 html 型字段 widget,用于列表视图显示html内容
2018-10-24 :
Odoo 12 账号相关的变化
2018-04-09 :
如何将 Odoo 的数据备份到阿里云对象存储OSS上
2017-11-16 :
DjangoX 扩展的命令(commands)使用指南
2017-11-02 :
Odoo 常用的一些内置对象
2017-08-10 :
DjangoX App 配置和菜单组设置介绍
2016-12-19 :
DjangoX Ajax表单交互之“部分更新”patch式
2016-12-16 :
Odoo 的静态资源优化方案
2016-04-22 :
Odoo 配置项全解
2014-12-16 :
Cordova页面加载的事件
官方公众号
关注公众号实时咨询我们
分类
Odoo (81)
DjangoX (11)
后端HTTP (7)
YouMd (4)
移动开发 (4)
Django (4)
公告说明 (2)
JS (2)
Python (1)
前端 (1)
Nginx (1)
桌面UI (1)
January 2021
Sun
Mon
Tue
Wed
Thu
Fri
Sat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
About This Entry
DjangoX 扩展的命令(commands)使用指南
Odoo 视图之 act_window
About This Blog
main index
to find recently
archives
to find all
标签
微信模块
小程序商城
Python
Web
Http
Cordova
客服系统
微信客服系统
HTML5
微信客服
Markdown
解析
DjangoX
微信模块发布记录
客服工单系统
ExtJS
示例
Excel
JS
服系统
新年
PyQT
YouPBX
扩展开发
最近发布
Odoo 如何用命令行备份还原数据
如何实现 Odoo 数据每天备份到本地存储
微信模块 Oejia_wx v0.6.3 发布,多项兼容优化,即将全面适配 Odoo14
Odoo 小程序商城模块 Oejia_weshop v0.2.2 发布,全面支持多公司销售机制
OE商城积分模块
Odoo14 相对 Odoo13 依赖库的变化
Oejia 七月模块产品动态之OE商城
小程序商城模块 Oejia_weshop v0.2.1 发布,各种营销活动支持打通线上线下业务
基于企业微信官方审批应用实现的Odoo通用审批功能
OE小程序商城订阅消息通知使用说明
Friend Links
Oejia技术梦博客分享
YouMd,爱上MarkDown
Mole轻量级wsgi架子