HtmlLayuiTemplate.ftl 11.6 KB
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>八爪云ERP系统</title>
  <meta name="renderer" content="webkit">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
  <link rel="stylesheet" href="/plugins/layuiadmin/layui/css/layui.css" media="all">
  <link rel="stylesheet" href="/plugins/layuiadmin/style/admin.css" media="all">
</head>
<body>

  <div class="layui-fluid">
    <div class="layui-card">
    
      <!-- 筛选条件栏 -->
      <div class="layui-form layui-card-header layuiadmin-card-header-auto">
        <div class="layui-form-item">
          <#list fields as tempField>
		  ${tempField["layui-search-item"]}
		  </#list>
          
          <div class="layui-inline">
            <button class="layui-btn" lay-submit lay-filter="btn-search-bar">
              <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
            </button>
          </div>
        </div>
      </div>
      
      <!-- 表格窗体 -->
      <div class="layui-card-body">
        <div class="layui-btn-group" style="padding-bottom: 10px;">
          <button class="layui-btn " onclick="add();">添加</button>
          <button class="layui-btn " onclick="batchDelete();">删除</button>          
        </div>
        
        <table id="table-data-main" class="layui-table" lay-filter="table-data-main"></table>
        
        <script type="text/html" id="table-operation">
		  <a class="layui-btn layui-btn-normal layui-btn-xs " lay-event="operationLog"><i class="layui-icon layui-icon-log"></i>操作记录</a>
          <a class="layui-btn layui-btn-normal layui-btn-xs " lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a>
          <a class="layui-btn layui-btn-danger layui-btn-xs " lay-event="delete"><i class="layui-icon layui-icon-delete"></i>删除</a>		  
        </script>
      </div>
    </div>
  </div>
  	  
  	<!-- 添加表单 -->
  	<form id="form-data-add" class="layui-hide layui-form" lay-filter="form-data-add">
	  <#list fields as tempField>
	  	<#if (tempField["name"]!="id")>
		${tempField["layui-form-item"]}
		</#if>
	  </#list>
	  
	  <div class="layui-form-item">
	    <div class="layui-input-block">
	      <button type="button" class="layui-btn" onclick="addSubmit();">立即提交</button>
	      <button type="reset" class="layui-btn layui-btn-primary">重置</button>
	    </div>
	  </div>
  	</form>
  	
  	<!-- 修改表单 -->
  	<form id="form-data-edit" class="layui-hide layui-form" lay-filter="form-data-edit">  		
	  <#list fields as tempField>
		${tempField["layui-form-item"]}
	  </#list>
	  
	  <div class="layui-form-item">
	    <div class="layui-input-block">
	      <button type="button" class="layui-btn" onclick="editSubmit();">立即提交</button>
	      <button type="reset" class="layui-btn layui-btn-primary">重置</button>
	    </div>
	  </div>
  	</form>
  	
  	<!-- 隐藏信息 -->
  	<input id="data-checkList" type="hidden" name="ids" value=""/>
  	
  <script src="/plugins/layuiadmin/layui/layui.js"></script>
  <script>
  layui.config({
	base: '/plugins/layuiadmin/' //静态资源所在路径
  }).extend({
	operationlog: 'modules/operationlog' //操作模块日志
  }).use(['table', 'laydate', 'layer', 'form', 'operationlog'], function(){
    var $ = layui.$, form = layui.form, table = layui.table, laydate = layui.laydate, operationlog=layui.operationlog;
    
    table.render({
    	elem: '#table-data-main',
    	url:'/${controllerPathMap}/query.htm', 
    	request:{
    		pageName:'page',
    		limitName:'pageSize'
    	},
    	page:true, 
        loading:true,
        response: {
        	statusName: 'resultId',
        	statusCode: 200,
        	msgName: 'resultMessage',
        	countName: 'total',
        	dataName: 'rows'
        },
        cols: [[
        	{checkbox: true},
        	  <#list fields as tempField>
	    	${tempField["layui-table-item"]}
	    	  </#list>
		    {title:'操作', field:'id', fixed:'right', width:240, toolbar: '#table-operation'}
		]],
        done: function(res, curr, count){
        	//将请求返回的数据存入document全局变量中
        	window.document.global_tableData = res;
		}
    });
    
    //日期组件初始化
    $('.me-date-range').each(function(index, element){
    	laydate.render({
    		elem: element,
    		range: true
    	});
    });
    
    //表格服务器端排序监听
    table.on('sort(table-data-main)', function(obj){ //注:tool是工具条事件名,test是table原始容器的属性 lay-filter="对应的值"   	  
   	  //尽管我们的 table 自带排序功能,但并没有请求服务端。
   	  //有些时候,你可能需要根据当前排序的字段,重新向服务端发送请求,从而实现服务端排序,如:
   	  table.reload('table-data-main', {
   	    initSort: obj //记录初始排序,如果不设的话,将无法标记表头的排序状态。 layui 2.1.1 新增参数
   	    ,where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
   	      sort: obj.field //排序字段
   	      ,order: obj.type //排序方式
   	    }
   	  });
   	});
    
  	//监听工具条
    table.on('tool(table-data-main)', function(obj){
      var data = obj.data;
      
      //表格操作栏动作入口
      if(obj.event === 'operationLog'){ //查看操作日志动作监听入口
	      operationlog.open(data.id, '${tableName}');
      } else if(obj.event === 'delete'){ //删除按钮操作入口
    	  if(!data){
    		  layer.alert('没有找到需要删除的记录~');
    		  return;
    	  }else{
    		  layer.confirm('您选择了一条记录,确认删除', function(){
    			  $.ajax({
            		  url: '/${controllerPathMap}/delete.htm',
            		  type: 'post',
            		  data: {
            			  ids: data.id
            		  },
            		  success: function(data){
            			if(data && data.resultMessage){
            				layer.alert(data.resultMessage);
            				table.reload('table-data-main');
            			}else{
            				layer.alert('返回的数据无法解析,请反馈到管理员');
            			}
            		  },
					  error: function(data){
						  layer.alert('请求出错,请检查网络连接是否正常');
					  }
            	  }); 
    		  });
    	  }
      } else if(obj.event === 'edit'){ //修改按钮操作入口    	
		var formHtml = '<form id="activeForm" class="layui-form" lay-filter="activeForm" style="padding:20px;">' + $('#form-data-edit').html() + '</form>';
		layer.open({
			title: '修改窗口',
			type: 1,
			content: formHtml,
			btn: null
		});
		form.val('activeForm', data);
		form.render();
		$('.me-date-form').each(function(index, element){
			laydate.render({
				elem: element,
				type: 'datetime'
			});
		});
	  }
    });
  	
  	//表格的checkbox事件
    table.on('checkbox(table-data-main)', function(obj){
      var ids = $('#data-checkList').val();
      var idsArray = new Array();
	  var resultArray = new Array();
      if(ids != ''){
    	  idsArray = ids.split(',');
          resultArray = ids.split(',');  
      }
      
      if(obj.checked){
    	  if(obj.type === 'one'){
    		  resultArray.push(obj.data.id);
    	  }else{
    		  var tempData = window.document.global_tableData.rows;
    		  for(var i=0; i<tempData.length; ++i){
    			  resultArray.push(tempData[i].id);
    		  }
    	  }
      }else{
    	  if(obj.type === 'one'){
    		  resultArray = new Array();
    		  $(idsArray).each(function(index, item){
    			  if(obj.data.id != item){
    				resultArray.push(item);
    			  }
    		  });
    	  }else{
    		  resultArray = new Array();
    	  }
      }
      
      var tempResult = '';
      if(resultArray.length > 0){
    	  tempResult = resultArray.join(',');  
      }
      $('#data-checkList').val(tempResult);
   	});
    
    //搜索按钮点击事件
    form.on('submit(btn-search-bar)', function(data){
      var field = data.field;
      //执行重载
      table.reload('table-data-main', {
        where: field
      });
    });
    
  });
  
	//添加按钮监听方法
	function add(){
		var $ = layui.$;
		layui.use(['layer', 'form', 'laydate'], function(){
			var layer = layui.layer;
			var form = layui.form;
			var laydate = layui.laydate;
			var formHtml = '<form id="activeForm" class="layui-form " style="padding:20px;">' + $('#form-data-add').html() + '</form>';
			layer.open({
				title: '添加窗口',
				type: 1,
				content: formHtml,
				btn: null
			});
			form.render();
			$('#activeForm .me-date-form').each(function(index, element){
				laydate.render({
					elem: element,
					type: 'datetime'
				});
			});
		}); 		
	}
	
	//添加窗口表单提交方法
	function addSubmit(){
		var $ = layui.$;
		layui.use(['layer', 'form', 'table'], function(){
			var layer = layui.layer;
			var form = layui.form;
			var table = layui.table;
			var formArray = $('#activeForm').serializeArray();
			var params = {};
			layui.each(formArray, function(index, item){
				params[item.name] = item.value;
			});
			$.ajax({
				url: '/${controllerPathMap}/add.htm',
				type: 'post',
				data: params,
				success: function(data){
					layer.closeAll();
					if(data && data.resultMessage){
        				layer.alert(data.resultMessage);
        				table.reload('table-data-main');
        			}else{
        				layer.alert('返回的数据无法解析,请反馈到管理员');
        			}
				},
				error: function(data){
					layer.closeAll();
					layer.alert('请求出错,请检查网络连接是否正常');					
				}
			});
		});
	}
	
	//批量删除按钮监听方法
	function batchDelete(){
		var $ = layui.$;
		layui.use(['layer', 'form', 'table'], function(){
			var layer = layui.layer;
			var form = layui.form;
			var table = layui.table;
			var ids = $('#data-checkList').val();
			if(ids == '' || ids.length == 0){
				layer.alert('没有选择任何选项,请选择需要删除记录再进行该操作');
				return;
			}else{
				var idsArray = ids.split(',');				
				layer.confirm('您当前选择了'+idsArray.length+'条记录,是否确认删除?', function(){
					$.ajax({
						url: '/${controllerPathMap}/delete.htm',
						type: 'post',
						data: {
							ids: ids
						},
						success: function(data){
							layer.closeAll();
							if(data && data.resultMessage){
		        				layer.alert(data.resultMessage);
		        				table.reload('table-data-main');
		        			}else{
		        				layer.alert('返回的数据无法解析,请反馈到管理员');
		        			}
						},
						error: function(data){
							layer.closeAll();
							layer.alert('请求出错,请检查网络连接是否正常');
						}
					});		
				});
			}
		});
	}
	
	//修改按钮表单提交方法
	function editSubmit(){
		var $ = layui.$;
		layui.use(['layer', 'form', 'table'], function(){
			var layer = layui.layer;
			var form = layui.form;
			var table = layui.table;
			var formArray = $('#activeForm').serializeArray();
			var params = {};
			layui.each(formArray, function(index, item){
				params[item.name] = item.value;
			});
			$.ajax({
				url: '/${controllerPathMap}/edit.htm',
				type: 'post',
				data: params,
				success: function(data){
					layer.closeAll();
					if(data && data.resultMessage){
        				layer.alert(data.resultMessage);
        				table.reload('table-data-main');
        			}else{
        				layer.alert('返回的数据无法解析,请反馈到管理员');
        			}
				},
				error: function(data){
					layer.closeAll();
					layer.alert('请求出错,请检查网络连接是否正常');
				}
			});
		});
	}
  </script>
</body>
</html>