/**
 * 修改增加公告通知
 * */
$(function() {
	autosize($('textarea'));
	var edit_id = helper.request.queryString("edit_id");
	if (edit_id) {
		getNotice(edit_id);
	}else{
		initTree();
	}
	$('#save_btns').on('click', saveNotice)
});

//获取公告通知详情
function getNotice(ids) {
	$.getJSON(huayi.config.callcenter_url + "Notice/GetNotice", {
		noticeid: ids, //公告通知id
		token: $.cookie("token")
	}, function(data) {
		if (data.state.toLowerCase() == "success") {
			var noticeInfo = data.data;
			if (noticeInfo) {
				$('#title').val(noticeInfo.F_Title);
				$('#content').val(noticeInfo.F_Content);
				initTree(noticeInfo.F_NoticeId);
				if(noticeInfo.F_isCus){
					$('#iscus').prop('checked', true);
				}
			}
		}
	});
}

//保存
function saveNotice() {
	if (!$.trim($('#title').val())) {
		layer.confirm('请输入标题！', {
			icon: 2,
			btn: ['确定']
		});
		return;
	}
	if (!$.trim($('#content').val())) {
		layer.confirm('请输入内容！', {
			icon: 2,
			btn: ['确定']
		});
		return;
	}
	var userids = [],
		roleids = [];
	var ztreeCheckeds = $.fn.zTree.getZTreeObj("treeDemo").getCheckedNodes(true);
	if (ztreeCheckeds.length) {
		$.each(ztreeCheckeds, function(i, n) {
			if (n.F_Pid == 0) {
				roleids.push(n.F_Id);
			} else {
				userids.push(n.F_Id);
			}
		});
	}
	var wURL, loadIndex;
	var edit_id = helper.request.queryString("edit_id");
	if (edit_id) {
		wURL = "Notice/EditNotice";
	} else {
		wURL = "Notice/AddNotice";
	}
	$.ajax({
		type: 'post',
		url: huayi.config.callcenter_url + wURL,
		dataType: 'json',
		async: true,
		beforeSend: function() { //触发ajax请求开始时执行
			$('#save_btns').attr("disabled", true);
			$('#save_btns').text('保存中...');
			loadIndex = layer.load();
		},
		data: {
			noticeid: edit_id, //int公告通知id，允许为0
			title: $('#title').val(), //标题
			content: helper.filter.delHtmlTag($('#content').val()), //内容
			userid: userids.length ? userids.join(',') : '', // 用户id集合，拼接字符串，内容格式：1,2,3
			roleid: roleids.length ? roleids.join(',') : '', // 角色id集合，拼接字符串，内容格式：1,2,3
			iscus: $('#iscus').prop('checked') ? 1 : 0, // 是否客户查看，0否 1是 默认0
			token: $.cookie("token")
		},
		success: function(data) {
			layer.close(loadIndex);
			if (data.state === "success") {
				var index = parent.layer.getFrameIndex(window.name);
				parent.layer.close(index);
				parent.$('#noticeList').bootstrapTable('refresh');
				parent.layer.msg("保存成功");
			} else {
				$('#save_btns').attr("disabled", false);
				$('#save_btns').text('保存');
			}
		},
		error: function(textStatus) {
			layer.close(loadIndex);
			layer.confirm('网络繁忙，请稍后再试...', {
				icon: 7,
				closeBtn: 0,
				btn: ['确定'] //按钮
			});
			$('#save_btns').attr("disabled", false);
			$('#save_btns').text('保存');
		},
		complete: function(XMLHttpRequest, textStatus) {
			layer.close(loadIndex);
			if (textStatus == 'timeout') {
				var xmlhttp = window.XMLHttpRequest ? new window.XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHttp");
				xmlhttp.abort();
				layer.confirm('网络超时，请稍后再试...', {
					icon: 7,
					closeBtn: 0,
					btn: ['确定'] //按钮
				});
			}
			$('#save_btns').attr("disabled", false);
			$('#save_btns').text('保存');
		},
	});
}

//树形结构 所有角色
function initTree(nid) {
	nid = nid || '';
	$.get(huayi.config.callcenter_url + 'Notice/GetRoleUsersList', {
		noticeid: nid, // 公告id，用于编辑时填充数据
		"token": $.cookie("token"),
	}, function(result) {
		result = $.parseJSON(result);
		if(result.state === 'success'){
// 			if(nid && result.data && result.data.length){
// 				$(result.data).each(function(i, n) {
// 					if(n.F_ischeck) {
// 						n.checked = "true";
// 					}
// 				})
// 			}
			$.fn.zTree.init($("#treeDemo"), setting, result.data);
		}
	});
}
var setting = {
	check: {
		enable: true,
		//chkboxType: {"Y":"", "N":""},
	},
	data: {
		key: {
			name: "F_Name",
			checked: "F_ischeck"
		},
		simpleData: {
			enable: true,
			idKey: "F_Id",
			pIdKey: "F_Pid",
			rootPId: 0
		}
	},
	callback: {
		onCheck: zTreeOnClick
	}
};

function zTreeOnClick(e, treeId, treeNode) {
	var zTree = $.fn.zTree.getZTreeObj("treeDemo");
	var node = zTree.getNodes();
	var nodes = zTree.transformToArray(node).length;
	var checkNode = zTree.getCheckedNodes().length;
	if(nodes === checkNode){
		$('#checkAll').prop('checked', true);
	}else{
		$('#checkAll').prop('checked', false)
	}
}

// 全选
$('#checkAll').on('click',function (e) {
    var zTree = $.fn.zTree.getZTreeObj("treeDemo");
    var node = zTree.getNodes();
    var nodes = zTree.transformToArray(node);
    var checkNode = zTree.getCheckedNodes().length;
    //已选中的节点数小于总数 - 全选
    if (checkNode < nodes.length) {
        $('#checkAll').prop('checked', true)
        zTree.checkAllNodes(true);
    } else{
        zTree.checkAllNodes(false);
    }
})


/**
 * 角色用户列表下拉
 * el 元素
 * nid 公告id
 * */
function getRoleUsersList(el, nid) {
	var dtd = $.Deferred(); //在函数内部，新建一个Deferred对象
	nid = nid || '';
	$.ajax({
		type: "get",
		url: huayi.config.callcenter_url + "Notice/GetRoleUsersList",
		dataType: 'json',
		async: true,
		data: {
			noticeid: nid, // 公告id，用于编辑时填充数据
			token: $.cookie("token")
		},
		success: function(data) {
			if (data.state.toLowerCase() === 'success') {
				var res = data.data;
				if (res && res.length) {
					for (var i = 0; i < res.length; i++) {
						$('<option value=' + res[i].F_Id + '>' + res[i].F_Name + '</option>').appendTo(el);
					}
				}
				el.selectpicker('refresh');
				dtd.resolve(); // 改变Deferred对象的执行状态
			}
		}
	});
	return dtd.promise(); // 返回promise对象
}
