layui.use([ 'element', 'table', 'laydate', 'form' ], function() {
	var $ = layui.jquery;
	var table = layui.table;
	var laydate = layui.laydate;
	var element = layui.element;
	var form = layui.form;

	
	var sysStatusData = {
		0:'新用户',	
		1:'第一阶段',	
		2:'测试通过'	
	};
	// 生成表格
	table.render({
		elem 	: '#userTable',
		url 	: '../../../getUserList', 
		toolbar : '#toolbarDemo',
		title 	: '用户表',// 导出文件名
		id 		: 'userTableAll',
		// 开启分页
		// page	: true,
		page 	: {
			layout : [ 'count', 'prev', 'page', 'next', 'skip', 'limit' ]
		},
		limits	: [10,30,50,80,100,999],
		/*request : {
			'limitName' : 'pageSize' // 分页每页条数默认字段改为pageSize
		},*/
		where:{
			username :'',
			realname :'',
			userStatus :'',
			roleSearch :'',
			role     : $("#role").val()
		},
		cellMinWidth : 80, // 全局定义常规单元格的最小宽度，layui 2.2.1 新增
		cols : [ [ {
			type : 'numbers',
			title : '序号',
			width : 60,
			fixed : "left"
		},{
			field : 'username',
			align : 'center',
			width : 200,
			title : '用户名称'
		},{
			field : 'realname',
			align : 'center',
			width : 120,
			title : '真实姓名'
		},{
			field : 'role',
			title : '角色',
			sort  : 'true',
			templet:function(d){
				if(d.role != null && d.role != ""){
					var load = d.role.split(",");
					var roleStr = "";
					for (var i = 0; i < load.length; i++) {
						roleStr += roleData[load[i]] + "   ";
					}
					//roleStr = roleStr.substring(0,roleStr.length-1)
					return roleStr
				}
				return ""
			}
		},{
			field : 'birthDay',
			title : '生日时间',
			align : 'center',
			width : 120,
			templet : function(d) {
				return d.birthDay != null ?layui.util.toDateString(d.birthDay, "MM-dd") : "";
			} 
		},{
			field : 'birthType',
			title : '农历/新历',
			align : 'center',
			width : 100,
			templet : function(d) {
				if(d.birthType == "0"){
					return "农历"
				}else{
					return "新历"
				}
			} 
		},{
			field : 'sysStatus',
			title : '系统状态',
			align : 'center',
			width :  120,
			templet : function(d) {
				if(d.sysStatus == '0'){
					return '<a class=""style="color:#ed2a4a">'+ sysStatusData[d.sysStatus] +'</a>';
				}else if (d.sysStatus == '1'){
					return '<a class=""style="color:#9d8a0e">'+ sysStatusData[d.sysStatus] +'</a>';
				}else{
					return '<a class=""style="color:#5FB878">'+ sysStatusData[d.sysStatus] +'</a>';
				}
			} 
		},{
			field : 'userStatus',
			title : '启用状态',
			align : 'center',
			width : 150,
			templet : '#userStatusTpl',
		},{
			field : 'needIp',
			title : '判断Ip',
			align : 'center',
			width : 100,
			templet : function(d) {
				if(d.needIp == "0"){
					return "否"
				}else if(d.needIp == "1"){
					return "是"
				}else{
					return "不需要"
				}
			} 
		},{
			field : 'createDate',
			title : '创建时间',
			align : 'center',
			width : 180,
			templet : function(d) {
				return d.createDate != null ?layui.util.toDateString(d.createDate, "yyyy-MM-dd HH:mm:ss") : "";
			} 
		},{
			fixed : 'right',
			title : '操作',
			width : 150,
			align : 'center',
			toolbar : '#barDemo'
		} ] ],
		//数据渲染完的回调。
		done: function (res, curr, count) {
            // 由于layui 设置了超出隐藏，所以这里改变下，以兼容操作按钮的下拉菜单
            // $(".layui-table-body, .layui-table-box, .layui-table-cell").css('overflow', 'visible'); 
		},
		parseData : function(res) { //将原始数据解析成 table 组件所规定的数据
			return {
				"code" 	: 0, //解析接口状态
				"msg" 	: "", //解析提示文本
				"count"	: res.data.userList.total,//解析数据长度
				"data" 	: res.data.userList.list//解析数据列表
			};
		}
	});

	//点击查询按钮，重载表格
	$('#searchBtn').on('click', function() {
		table.reload('userTableAll', {
			method : 'get',
			where : {
				username : $("#username").val(),
				realname : $("#realname").val(),
				userStatus : $("#userStatus").val(),
				roleSearch : $("#roleSearch").val(),
				role 	 : $("#role").val()
			},
			page : {
				curr : 1
			}
		});
		return false;
	});
	
	//监听状态按钮
	form.on('switch(userStatusDemo)', function(obj){
		console.log(obj)
		//layer.tips(this.value + ' ' + this.name + '：'+ obj.elem.checked, obj.othis); 
		$.ajax({
			url : "../../../changeUserStatus",
			dataType : 'json',
			data : {
				'userId':obj.value
			}, 
			type : 'post',
			success : function(data) {
				if (data.code == 200) {
					layer.msg('状态修改成功！',{icon:6,offset:"auto",time:2000});//提示框
			  	}else{
			  		layer.msg('状态修改失败！',{icon:5,offset:"auto",time:2000});//提示框
			  	}
			}		
		})
	})
	form.on('switch(sysStatusDemo)', function(obj){
		$.ajax({
			url : "../../../changeSysStatus",
			dataType : 'json',
			data : {
				'userId':obj.value
			}, 
			type : 'post',
			success : function(data) {
				if (data.code == 200) {
					layer.msg('状态修改成功！',{icon:6,offset:"auto",time:2000});//提示框
				}else{
					layer.msg('状态修改失败！',{icon:5,offset:"auto",time:2000});//提示框
				}
			}		
		})
	})

	// 监听头部工作栏的 新增用户
	table.on('toolbar(userTable)', function(obj) {
		var checkStatus = table.checkStatus(obj.config.id);
		switch (obj.event) {
		case 'add':
			layer.open({
				type : 2,
				title : "添加用户",
				fix: false, //不固定
	    		maxmin: true,
				area : [ '45%', '70%' ],
				content : './addUser.jsp',
			});
			break;
		case 'editAllIp':
			$.ajax({
				url : "../../../changeNeedIp",
				dataType : 'json',
				type : 'post',
				success : function(data) {
					if (data.code == 200) {
						layer.msg('修改成功！',{icon:6,offset:"auto",time:2000});//提示框
				  	}else{
				  		layer.msg('修改失败！',{icon:5,offset:"auto",time:2000});//提示框
				  	}
				}		
			})
			break;
		};
	
		
	});

	// 监听 修改
	table.on('tool(userTable)', function(obj) {
		var data1 = obj.data;
		if (obj.event === 'edit') {
			layer.open({
				type : 2,
				title : "修改用户信息",
				area : [ '45%', '70%' ],
				skin:'layui-layer-molv',
				content : './updateUser.jsp',
				success : function(layero, index) {
					var body = layer.getChildFrame('body', index);
					var iframeWin = window[layero.find('iframe')[0]['name']]; // 得到iframe页的窗口对象
					body.find('#userId').val(data1.userId);
					body.find('#username').val(data1.username);
					body.find('#password').val("********");
					body.find('#realnameUpdate').val(data1.realname);
					body.find('#needIp').val(data1.needIp);
					body.find('#ROLE').val(data1.role);
					body.find('#sysStatusUpdate').val(data1.sysStatus);
				}
			});
		}else if (obj.event === 'del') {// 监听删除
			layer.confirm('确定要删除该数据么？',{icon:3,title:"提示"}, function(index){
	    	  	$.ajax({
	    			url:"../../../deleteUserById",
	    		  	data:{'id': data1.userId},
	    			type:"post",
	    			//dataType:"json",
	    		  	success:function (data) {
	    			 	if (data.code == 200) {
	    			 		layer.msg('删除成功！',{icon:6,offset:"auto",time:1000});//提示框
					  	}else{
						    layer.msg(data.msg,{icon:5,offset:"auto",time:1000});//提示框
					  	}
	    			 	setTimeout(function(){
	    			 		// location.reload();//重新加载页面
						}, 1100);
	    		 	}  
	    	 	});  
	            return false; 
	     	});
		}
	})
});
