jeesite实战(四十二)——在当前页面手动设置弹窗

本文档详细记录了如何在项目中实现动态弹窗选择功能,以满足业务需求。通过JavaScript和HTML代码展示了按钮页面和选择页面的实现细节,包括弹窗的打开、自定义确定和取消按钮,以及数据的传递和筛选。在选择页面,当用户点击确定按钮时,会将选择的数据添加回原始页面,并关闭弹窗。同时,文中也提到了一些操作中的注意事项,以确保功能的正常运行。
摘要由CSDN通过智能技术生成

系列文章目录


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

本系列文章主要记录项目过程中重点的项目技术


一、目的

因为业务的需求,我需要动态的给选择页面传参数,从而实现数据的筛选,所以用默认的方式实现弹窗选择页面就不可靠了。

实现效果如下
在这里插入图片描述


二、实现过程

按钮页面

1. HTML代码

<h4 class="form-unit">${text('培训素材')}</h4>
	<div class="ml10 mr10">
		<table id="trainingMaterialDataGrid"></table>
		<% if (hasPermi('prep:trainingPreparation:edit')){ %>
			<a href="javascript:void(0);" οnmοusedοwn="trainingMD()" id = "trainingMD"  class="btn btn-primary btn-sm mt10 mb10 " data-layer="true" ><i class="fa fa-check-square-o"></i> ${text('学习素材选择')}</a>
			
		<% } %>
	</div>

2. JS代码

选择按钮的点击事件

function trainingMD(){
	var id = "";
	if(resultTrainingMD==null){
		
	}else{
		id = resultTrainingMD;
	}
	layer.open({
		type:2,
		title:'培训素材选择',
		area:['1080px','800px'],
		fixed:false,
		maxmin:true,
		content:"${ctx}/prep/trainingPreparation/trainingMaterialSelect?id="+id
	});

}

layer.open()表示打开一个弹窗


选择页面

1.HTML代码

修改默认的确定和取消按钮,修改后的代码

<div class="box-footer">
	<div class="box-tools text-center">
		<button id="btnSave" type="submit" class="btn btn-sm btn-primary">
			<i class="fa fa-check"></i> ${text('确定')}
		</button>
		&nbsp;
		<button id="btnCancel" type="button" class="btn btn-sm btn-default" >
			<i class="fa fa-reply-all"></i> ${text('取消')}
		</button>
	</div>
</div>

2.JS代码

//获取窗口索引
var index = parent.layer.getFrameIndex(window.name);
//确定按钮点击事件
$("#btnSave").click(function(){	
	// 选中的所有行
	var selectRows = $('#dataGrid').dataGrid('getSelectRows');
	for(var j = 0, len = selectRows.length; j < len; j++){
		// 行ID
		var rowId = selectRows[j];
	    // 行对象
	    var rowObj = $('#dataGrid').dataGrid('getRowData', rowId);
	    
	    //console.log(rowObj);
	    var carType;
	     var carTypes = ${@DictUtils.getDictListJson('slm_material_type')};
	     for(var s =0;s<carTypes.length;s++){
	    	 if(carTypes[s].dictLabel==rowObj.materialType){
	    		 carType =  carTypes[s].dictValue
	    		 break;
	    	 }
	     }
	    // 返回行数据
	    js.getCurrentTabPage(function (contentWindow) {
			contentWindow.$('#trainingMaterialDataGrid').jqGrid('addRow', {
				position: 'last',
				addRowParams: {keys: false, focusField: true},
				initdata: {status:Global.STATUS_NORMAL, materialId: rowObj.id, "learningMaterial.officeName":rowObj.officeName,
					"learningTopic.topicName":rowObj["learningTopic.topicName"],"learningMaterial.materialTitle":rowObj.materialTitle,"learningMaterial.materialType":carType,
					"learningMaterial.materialContent":rowObj.materialContent,"learningMaterial.duration":rowObj.duration,item:rowObj.items}
		    });
		});
	    
	}
	// 关闭当前页
	parent.layer.close(index);
	
});

//关闭按钮点击事件
$("#btnCancel").click(function(){	
	// 关闭当前页
	parent.layer.close(index);
});

注意事项
在这里插入图片描述


总结

至此,本文章结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值