Jeecg 重写编辑按钮相关的 js 方法

1. XXXList.jsp 中 dgToolBar 中的自定义函数 funname 方法,原方法在 src/main/webapp/plug-in/tools/curdtools_zh-cn.js 中

<t:dgToolBar title="编辑" icon="icon-edit" url="meetingController.do?goUpdate" funname="update" operationCode="${hideEditButton}">t:dgToolBar>

/**
 * 重写更新事件打开窗口
 * @param title 编辑框标题
 * @param url//目标页面地址
 * @param id//主键字段
 */

function update(title,url, id,width,height,isRestful) {
    gridname=id;
    var rowsData = $('#'+id).datagrid('getSelections');
    if (!rowsData || rowsData.length==0) {
        tip('请选择编辑项目0');
        return;
    }
    if (rowsData.length>1) {
        tip('请选择一条记录再编辑');
        return;
    }
    if(isRestful!='undefined'&&isRestful){
        url += '/'+rowsData[0].id;
    }else{
        url += '&id='+rowsData[0].id;
    }
    createwindow(title,url,width,height);
}


2. XXX-update.jsp 中 FormValidation 里执行 controller 前的方法 beforeSubmit 和回调函数 callback

<t:formvalid formid="formobj" dialog="true" usePlugin="password" layout="table" action="meetingController.do?doUpdate" beforeSubmit="checkSubmit" callback="@Override afterUpdate">

beforeSubmit : 表单提交前的处理函数,直接调用就好了

callback : 表单提交完成后的回调函数,如果 dialog="true"的话 callback="@Override functionName" 调用的是当前页面的方法, callback="functionName" 调用的是父页面的方法 如果 dialog="false" callback="functionName" 调用的是 当前页面的方法, 系统自带的回调方法可以自动关闭编辑窗口和右下角显示提示信息,方法我也写在下面重写的方法里了

/**
 * 重写编辑的回调函数
 * @param data
 * @returns {boolean}
 */
function afterUpdate(data) {
    var win = frameElement.api.opener;
    if (data.success == true) {
        frameElement.api.close();
        win.tip(data.msg);
    } else {
        if (data.responseText == '' || data.responseText == undefined) {
            $.messager.alert('错误', data.msg);
            $.Hidemsg();
        } else {
            try {
                var emsg = data.responseText.substring(data.responseText.indexOf('错误描述'), data.responseText.indexOf('错误信息'));
                $.messager.alert('错误', emsg);
                $.Hidemsg();
            } catch (ex) {
                $.messager.alert('错误', data.responseText + "");
                $.Hidemsg();
            }
        }
        return false;
    }
    win.reloadTable();

}
以上在 Jeecg 3.7 版本中使用

你可能感兴趣的:(Jeecg)