业务场景:列表界面选择一行数据之后,判断数据状态,打开新页面。
打开新页面时,传递当前选择行记录的ID到新页面,在新页面进行下一步操作,页面链接中注意uipk参数。
option.url = waf.getContextPath() + "/dynamicForm.do?event=initialize&uipk=com.kingdee.eas.custom.DetectionResultRedtcPage&waf2skin=easbase&method=doEvent&debug=true&billId=" + billId;
// 重检 redtc:function(event,value){ var selectedId = waf("#queryGrid").dataGrid("getSelectedRow"); if (selectedId == undefined || selectedId == null) { _self.showMessage("请在检测结果表格选择记录行!"); return; } // 派工单ID、派工单分录ID、检测状态 var dtcStatus = waf("#queryGrid").wafGrid("getCell", selectedId, "dtcStatus"); var billId = selectedId; if(dtcStatus == null || dtcStatus != 30){ _self.showMessage("只允许在检测结果表格中选择检毕状态的记录进行重检!"); return; } var option = { OpenType:"iframe", //bgiframe:false, method:'POST', modal:true, openFromParent:false, position:'center', showTitleBar:true, autoMax:false, width:900, height:650, minHeight:400, minWidth:350, iconCls:"ui-icon-winIcon", draggable:true, resizable:false, hideEffect:"slide" }; // 传参时直接在链接地址中拼接参数 // 在跳转的页面上,可以直接接收参数 option.url = waf.getContextPath() + "/dynamicForm.do?event=initialize&uipk=com.kingdee.eas.custom.DetectionResultRedtcPage&waf2skin=easbase&method=doEvent&debug=true&billId=" + billId; option.title = "重检通知"; option.onOpenCompleted = function(event, ui){ waf(window).unbind("resize", waf.window); waf(window).bind("resize", waf.window); } waf.window.open(option); }
打开新页面之后,接收参数,进行后续业务处理: /**************************提示:只允许修改开发区域,其他区域会被覆盖!********************************/ mod.definePage("extend/custom/js/DetectionResultRedtcPage",function(waf){ //@beginUseModule //@endUseModule var _public = {},_private = {},me=_self; //@beginPublic waf.extend(_public,{ //控件事件描述: confirm:function(event,value){ return _private.confirm(event,value); } , //控件事件描述: close:function(event,value){ return _private.close(event,value); } }); //@endPublic /**************************开发区域开始**********************************************/ //@beginPrivate waf.extend(_private,{ // 确定,重检操作,发送邮件通知 confirm:function(event,value){ // 页面传参 var billId = _self.getUrlParam("billId"); //检测结果ID var message = waf("#txtMessage").wafTextarea("getValue"); //通知内容 var users = waf("#prmtUser").wafPromptBox("getValue"); //消息接收人 var userIds = ""; for(var i = 0; i < users.length; i++){ var user = users[i]; if(userIds == ""){ userIds = user.id; } else { userIds += "," + user.id; } } if(message == null || message == ""){ _self.showMessage("消息内容不能为空!"); return; } if(userIds == null || userIds == ""){ _self.showMessage("接收人不能为空!"); return; } waf.ajax({ // 该辅助页面的请求也发至检测结果序时簿界面功能控制层 url:waf.getContextPath() + "/lims/detectionResultList.do?method=redtc", data:{billId:billId, userIds:userIds, message:message}, type:'post', dataType:'', async:false, success:function(data){ // alert(waf.toJSON(data)); _self.showMessage(data.data); // 刷新父页面数据 window.parent.document.getElementById("btnRefresh").click(); } }); }, // 关闭当前页面 close:function(event,value){ waf.window.close(parent._self.editWin); } });//@endPrivate /**************************开发区域结束**********************************************/ return _public; });