1. 程式人生 > >jeecg自定義編輯頁面

jeecg自定義編輯頁面

tro 頁面 獲取 ret var class amp update 重寫

重寫按鈕方法

將系統生成的代碼

<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,設置表單是否是異步提交
  • 第三個參數是表單的提交地址

這樣一個自定義的編輯頁面就寫完了。

jeecg自定義編輯頁面