Odoo14后端按钮调用前端JS

1.视图页面 

            <form delete="0" duplicate="0" edit="0" create="0" js_class="local_sync_oss">
                <header>
                    <button class="local_sync_oss" string="NAS同步照片到OSS"></button>
                </header>
       </form>

2.JS

odoo.define('sps_service/static/src/local_sync_oss.js', function (require) {
    "use strict";

    var FormView = require('web.FormView');
    var FormRenderer = require('web.FormRenderer');
    var view_registry = require('web.view_registry');
    var session = require('web.session');


    var SpsServiceFormRenderer = FormRenderer.extend({
        events: _.extend({}, FormRenderer.prototype.events, {
            'click .local_sync_oss': 'local_sync_oss',
        }),

        init: function () {
            this._super.apply(this, arguments);
        },
        // 这里可以在页面打开时提前获取一些需要的数据,和执行一些函数
        start: function () {

            this._super.apply(this, arguments);
            let self = this

            self._rpc({
                model: 'res.company',
                method: 'search_read',
                fields: ['flow_type', 'is_all_storage', 'locality_location'],
                args: [[['id', '=', session.company_id]]],
            }).then(res => {
                // 获取存储类型
                this.flow_type = res[0].flow_type
                // 获取是否配置了允许外网访问
                this.is_all_storage = res[0].is_all_storage 
                // 获取检测是否nas的url
                this.locality_location = res[0].locality_location
            })


            this.service_order_id = 0
            // 打开页面时执行自定义的函数
            this.get_service_order_id()

        },

        get_service_order_id: function () {
            console.log("6666666666");
        },

        local_sync_oss: function () {
            console.log("点击按钮执行的函数");
        }


    })



    var SpsServiceFormView = FormView.extend({
        jsLibs: [],
    
        config: _.extend({}, FormView.prototype.config, {
            Renderer: SpsServiceFormRenderer,
        }),
    });


    view_registry.add('local_sync_oss', SpsServiceFormView);


    return {
        Renderer: SpsServiceFormRenderer,
    };

})

 

posted @ 2021-08-17 11:25  手可摘星辰。  阅读(635)  评论(0编辑  收藏  举报