Oejia 技术栈
首页
分享
微信模块
关于
编辑器
登录
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
2016-03-23 :
标签 RPC 服务 Redis 结构说明
2022-05-12 :
Odoo Error Invalid Prop 'apps' in component 'HomeMenu'
2017-05-30 :
VOIP & PBX
2016-02-01 :
Django 常用
2021-02-18 :
Odoo 静态相关
2016-01-16 :
示例参考文档
2018-09-26 :
Odoo 微信小程序商城模块 Oejia_weshop v0.1.1 发布
2022-05-15 :
远程登录提示“找不到匹配的keyexchange算法”
2020-06-29 :
Odoo仓库模块实现公司多个仓库间调拨和入库确认
2022-09-05 :
Odoo 企业微信之日历、日程的同步
分类
(23)
Django (3)
DjangoX (13)
JS (2)
Nginx (1)
Odoo (127)
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
客服系统
HTML5
OE商城
审批OA
DjangoX
Markdown
示例
markdown
Python
解析
服系统
oeshop
PyQT
Excel
md
YouPBX
最近发布
处理 Error Failed to download metadata for repo ‘appstream‘ Cannot prepare internal mirrorlist
Odoo 16 关键变化 change the term "acquirer" to "provider"
企业微信错误码 81013 的排查与处理
Odoo商城模块 Oejia_weshop v1.1 发布,支持Odoo16及下单子账号特性
微信模块 Oejia_wx v0.6.7 发布,支持 Odoo16 及新的Websocket消息模式
Odoo16 开启客屏时如何实现在POS设备上自动打开到第二屏
Odoo生产环境需要注意或修改的一些关键配置项
Odoo 更灵活的对账、付款及客户余额的介绍
Odoo16 SyntaxError
Friend Links
Oejia技术梦博客分享
YouMd,爱上MarkDown
Mole轻量级wsgi架子