Odoo14 Tree视图创建按钮后面增加按钮
1.继承ListView.buttons,在其按钮后面增加我们自定义的按钮,通过widget的一些属性去判断按钮的显示
<templates id="list_import_shipping_button_create" xml:space="preserve">
<t t-extend="ListView.buttons">
<t t-jquery="div.o_list_buttons" t-operation="append">
<!-- 找到名为 ""的模型,并在它的列表(tree)视图后面append一个按钮 -->
<t t-if="widget and widget.modelName == 'ffb.shipping.order' and widget._title == '国际运输单' and widget.controlPanelProps.action.context.is_show">
<button class="btn btn-success o_list_tender_import_shipping" type="button">导入</button>
</t>
</t>
</t>
</templates>
2.在js中增加对该按钮增加click事件,弹出向导
odoo.define('ffb_internation_shipping.list_import_shipping_button_create', function (require) {
"use strict";
var ListView = require('web.ListView');
var viewRegistry = require('web.view_registry');
var ListController = require('web.ListController');
ListController.include({
renderButtons: function ($node) {
this._super.apply(this, arguments);
if (this.$buttons) {
this.$buttons.on('click', '.o_list_tender_import_shipping', this.inport_voyage_shipping.bind(this));
}
},
inport_voyage_shipping: function () {
var self = this;
self.do_action({
type: 'ir.actions.act_window',
name: '国际运输单导入',
target: 'new',
res_model: 'import.shipping.wizard',
views: [[false, 'form']],
});
}
});
});
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下