vuvivian's blog

越努力,越幸运.

点击合并发货按钮后到达物流单的form视图,此时的物流单为临时保存状态,需要用户对物流单上的物流数据进行补全。此时就需要用户再点击编辑按钮,进入编辑状态,对物流单所需要的数据进行编辑。但产品给出的需求是,生成物流单后,显示的界面就是临时保存的编辑状态界面,本来想反对的这么做的,因为以前没做过,需要修改框架的js才能做到那种效果。最终在产品的要求下,我尝试去修改。
经过努力,终于达到那需求的效果。在执行do_action打开物流单的form视图时,target设置为current,添加flags参数,设置为{’form’:{‘action_buttons’:true, ‘options’:{‘mode’:’edit’}}}。整体代码如下:

self.do_action({
                    name: ctx['name'],
                    type: 'ir.actions.act_window',
                    res_model: 'logistics.bill',
                    view_mode: 'form',
                    view_type: 'form',
                    views: [[false, 'form']],
                    target: 'current',
                    res_id: res_id,
                    flags: {'form': {'action_buttons': true, 'options': {'mode': 'edit'}}},
                    context: ctx,
                    params: {
                        model: self.dataset.model,
                        // self.dataset.get_context() could be a compound?
                        // not sure. action's context should be evaluated
                        // so safer bet. Odd that timezone & al in it
                        // though
                        context: self.getParent().action.context,
                    }
                    }, {
                        on_reverse_breadcrumb: function () {
                            self.reload();
                        },
                        on_close: function () {
                            self.reload();
                        }
                    })

————————————————
版权声明:本文为CSDN博主「d305199」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/d305199/java/article/details/78741127

本文最后更新于 天前,文中所描述的信息可能已发生改变