zoukankan      html  css  js  c++  java
  • jeecg自定义编辑页面

    重写按钮方法

    将系统生成的代码

    <t:dgToolBar title="编辑" icon="icon-edit" url="tbFwzGongDanController.do?goUpdate"
                             funname="update"></t:dgToolBar>
    

    换成

    <t:dgToolBar title="编辑" icon="icon-edit" height="500" width="850" funname="updatePlus"></t:dgToolBar>
    

    实现编辑按钮的方法

    updatePlus = () => {
            var row = $("#tbFwzGongDanList").datagrid('getSelected');
    
            if (row.id == '' || row.id == null) {
                alert("请先选择工单!");
                return;
            } else {
                const url = "tbFwzGongDanController.do?goOutUpdate&id=" + row.id;
                openwindow("编辑", url, "tbFwzGongDanList", 850, 500)
            }
        }
    

    因为我在上面实现编辑按钮时使用的是openwindow,所以打开的弹出层是没有任何按钮的,现在需要在页面添加四个按钮:确定,结算,结算完成,反结算

    jeecg使用的弹出层框架是:lhgDialog窗口组件

    查看IhgDialog官方文档的示例,为页面添加按钮可以这样写

    var api = frameElement.api, W = api.opener;
        api.button({
                name: '确定',
                focus: true,
                callback: ok
            },
            {
                name: '结算',
                callback: pay
            }, {
                name: '结算完成',
                callback: completeSettlement
            },
            {
                name: '反结算',
                callback: antiClearing
            });
    

    然后是实现这四个按钮的方法,由于我新添加的四个按钮都需要向后台提交更新数据,所以我需要考虑的是如何提交jeecg生成的编辑页面的表单

    根据生成的表单代码可以看出,jeecg使用了Validform来校验表单

    <t:formvalid formid="formobj" dialog="true" usePlugin="password" layout="table" callback="closeWindow"
                 action="tbFwzGongDanController.do?doOutUpdate" tiptype="1">
    

    查看官方文档知道,可以手动提交表单,并自定义提交后的回调方法,那么上面的按钮实现方法就可以这样写

    //确定
        function ok() {
            //通过表单id获取表单对象
            var form = $("#formobj1").Validform({
                //自定义表单提交回调方法,数据提交,后台处理完会回调这个方法
                callback: function (data) {
                    //调用父页面的方法,将后台返回的提示信息在父页面提示
                    W.tipMessage(data.msg);
                    //后台处理结束,手动关闭弹窗
                    api.close()
                }
            });
            //设置表单以ajax方式提交
            //因为只有以ajax方式提交数据,才会在后台处理完回调
            form.ajaxPost(false, false, "tbFwzGongDanController.do?doOutUpdate")
            
            //按钮的实现方法默认返回true
            //如果返回true,那么点击按钮会直接关掉弹窗
            //如果返回false,那么点击按钮不关闭弹窗
            return false
        };
    

    表单的ajaxPost方法有三个参数

    • 第一个参数类型为Boolean,设置表单提交时是否校验表单信息的合法性
    • 第二个参数类型为Boolean,设置表单是否是异步提交
    • 第三个参数是表单的提交地址

    这样一个自定义的编辑页面就写完了。

  • 相关阅读:
    样式
    样式表的类别、选择器和优先级
    随记
    框架
    表单元素
    HTLM内容容器标签和常用标签
    HTML5的意义、改变以及全局属性
    11月21日html基础
    感想 目标和展望
    C++结构体实例和类实例的初始化
  • 原文地址:https://www.cnblogs.com/haohj/p/9246315.html
Copyright © 2011-2022 走看看