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
2020-09-18 :
OE商城积分模块
2019-12-12 :
微信模块 Oejia_wx v0.6 发布,全面支持多worker运行模式及异步系统消息通知
2018-12-21 :
小程序商城模块 Oejia_weshop v0.1.3 发布,支持衔接Odoo库存的能力
2018-03-15 :
微信模块 Oejia_wx v0.5 发布,支持 Odoo11
2016-11-29 :
DjangoX 模型管理功能配置介绍
2016-05-14 :
常见 HTTP 状态码解析
2016-01-19 :
Odoo 的微信模块 Oejia_wx v0.1 发布!
2016-01-17 :
EXTJS布局示例(panel,Viewport,TabPanel)
2016-01-17 :
EXTJS 中Ajax 应用示例
2012-08-07 :
JS如何读取客户端Excel文件
March 2023
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
分类
Odoo (123)
DjangoX (13)
后端HTTP (7)
YouMd (4)
移动开发 (4)
Django (3)
前端 (2)
JS (2)
公告说明 (2)
Python (1)
Nginx (1)
桌面UI (1)
异常处理 (1)
官方公众号
关注公众号实时咨询我们
About This Entry
DjangoX 扩展的命令(commands)使用指南
Odoo 视图之 act_window
About This Blog
main index
to find recently
archives
to find all
标签
微信模块发布记录
微信模块
小程序商城
Python
Web
Http
客服系统
OE商城
Cordova
审批OA
HTML5
Markdown
解析
DjangoX
ExtJS
示例
Excel
JS
新年
PyQT
扩展开发
YouPBX
服系统
最近发布
Odoo生产环境需要注意或修改的一些关键配置项
Odoo 更灵活的对账、付款及客户余额的介绍
Odoo16 SyntaxError: Failed to execute 'querySelectorAll' on 'Element': 'footer:not(field footer)' is not a valid selector
企业微信错误码:60020 的处理
在 Odoo 中使用 WebSocket 并兼容Odoo的Session会话识别
Odoo 让 server action 显示到指定的视图上
Odoo 增加树形列表视图的支持
Odoo 16 正式发布时间
Odoo 企业微信之日历、日程的同步
钉钉消息通知及审批功能的使用说明
Friend Links
Oejia技术梦博客分享
YouMd,爱上MarkDown
Mole轻量级wsgi架子