zoukankan      html  css  js  c++  java
  • Odoo14 js自定义弹出框

    odoo.define('/hr_pay/static/src/js/sync_punch_card_record.js', function (require) {
        "use strict";
        var Dialog = require('web.Dialog'); //引入odoo的dialog弹窗对象
        var ListController = require('web.ListController'); // 引入列表控制器,用来修改tree视图
        var show_button_import = "punch.in.record"; // 指定那个模型添加:想要自定义内容的模型
        var rpc = require('web.rpc');
    
        ListController.include({
    
    
            // 自定义按钮方法
            renderButtons: function ($node){
                var $buttons = this._super.apply(this, arguments);
                var tree_model = this.modelName;    // 当前模型名称
                // 如果当前模型名称为上面定义的模型名称
                if (tree_model == show_button_import) {
                    // 定义一个html按钮,点击时出发test函数
                    var button_01 = $("<button id='but' type='button' class='btn btn-primary '>同步打卡记录</button>").click(this.proxy("set_time_scope"))
    
                    this.$buttons.append(button_01);    // 添加到已有按钮的后面
                }
    
    
                return $buttons;
            },
    
            set_time_scope: function () {
    
                var affirm = function () {
    
    
                    let start_time = $("#start_time").val()
                    let end_time = $("#end_time").val()
    
                    if (start_time && end_time) {
                        console.log("成功");
    
    
                        rpc.query({
                            route: "/sync_record",
                            params: {
                                "start_time": start_time,
                                "end_time": end_time,
                            },
                        }).then(function (data) {
                            if (data) {
                                alert("同步成功!点击后刷新页面!")
                                location.reload();
                            }
                        })
    
    
    
                        dialog.close();
                    } else {
                        alert("请填写开始时间和结束时间!")
                    }
                };
    
                let input_text = "<div>开始时间:<input id='start_time' type='date' name='开始时间'/></div><div>结束时间:<input id='end_time' type='date' name='结束时间'/></div>"
    
                var dialog = new Dialog(this, {
                    title: '设置时间范围',
                    // size: 'medium',
                    size: 'small',
                    // size: 'large',
                    $content: input_text,
                    buttons: [{
                        text: '确认',
                        classes: 'btn-primary',
                        close: false,
                        click: affirm
                    },
                    {
                        text: '取消',
                        close: true
                    }]
                }).open();
    
    
            },
    
    
    
        });
    });
  • 相关阅读:
    Asp.net MVC企业级开发(01)---Autofac
    3°、6°带高斯-克吕格投影
    使用html2canvas实现网页截图并嵌入到PDF
    中国UTM分区
    遇到乱码不怕不怕啦——计算机字符编码详尽讲解
    ArcGIS Engine10.2如何安装在 VisualStudio2013 开发环境下
    【OSG学习笔记之一:】OSG+VS2010+win7 64位环境搭建
    Python回调函数用法实例详解
    python下编译py成pyc和pyo
    ERDAS文件格式:IGE、IMG、RRD、AUX
  • 原文地址:https://www.cnblogs.com/wangdianchao/p/15411203.html
Copyright © 2011-2022 走看看