jeecg自定義編輯頁面
阿新 • • 發佈:2018-06-30
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自定義編輯頁面