	//baidu-tongji
	var _hmt = _hmt || [];
	(function() {
		var hm = document.createElement("script");
		hm.src = "https://hm.baidu.com/hm.js?1cd9bcbaae133f03a6eb19da6579aaba";
		var s = document.getElementsByTagName("script")[0];
		s.parentNode.insertBefore(hm, s);
	})();

	$.fn.serializeObject = function() {
		var o = {};
		var a = this.serializeArray();
		$.each(a, function() {
			if (o[this.name] !== undefined) {
				if (!o[this.name].push) {
					o[this.name] = [o[this.name]];
				}
				o[this.name].push(this.value || '');
			} else {
				o[this.name] = this.value || '';
			}
		});
		return o;
	};

	/**
	 * 扩展datagrid的editors方法，支持combogrid
	 */
	if($.fn.datagrid) {
		$.extend($.fn.datagrid.defaults.editors, {
			combogrid: {
				init: function (container, options) {
					var input = $('<input type="text" style="height: 22px;" class="datagrid-editable-input">').appendTo(container);
					input.combogrid(options);
					return input;
				},
				destroy: function (target) {
					$(target).combogrid('destroy');
				},
				getValue: function (target) {
					return $(target).combogrid('getValue');
				},
				setValue: function (target, value) {
					$(target).combogrid('setValue', value);
				},
				resize: function (target, width) {
					$(target).combogrid('resize', width);
				}
			}
		});
	}

	$(function() {
		domresize();
	});
	//========================页面高度自动调节================================
	var heightInfo;
	var widthInfo;
	var initPageSize;
	var initPageNum;
	var webH;
	var webW;
	//改变表格宽高
	function domresize()
	{
		webH = document.documentElement.clientHeight;
		webW = document.documentElement.offsetWidth;
		widthInfo = $("body").outerWidth() -27;
		var mtopH = $(".box-body").outerHeight();
		heightInfo = webH - mtopH - 86;

		//分页信息修改成 15条
		if(heightInfo > 550)
		{
			initPageSize = 15;
			initPageNum = [15,30,50];
		}
		else
		{
			initPageSize = 10;
			initPageNum = [10,20,30,50];
		}
	}
    function dgResize() {
		var searchTabHeight = $('.box-body').height();
		if($('#tableData') && $('#tableData').length && $('#tableData').datagrid()) {
            $('#tableData').datagrid('resize', {
                width: $(window).width() - 6,
                height: $(window).height() - searchTabHeight -43
            });
		}
    }
    $(window).resize(function () {
        dgResize();
    });
	//========================页面高度自动调节================================

	//判断浏览器的类型
	function getOs()
	{
		if(navigator.userAgent.indexOf("MSIE")>0)
		{
			return "MSIE";
		}
		else if(isFirefox=navigator.userAgent.indexOf("Firefox")>0)
		{
			return "Firefox";
		}
		else if(isSafari=navigator.userAgent.indexOf("Safari")>0)
		{
			return "Safari";
		}
		else if(isCamino=navigator.userAgent.indexOf("Camino")>0)
		{
			return "Camino";
		}
		else if(isMozilla=navigator.userAgent.indexOf("Gecko/")>0)
		{
			return "Gecko";
		}
	}

    /**
	 * 获取公司信息
     */
	function getSystemConfig() {
		var info = null;
        $.ajax({
            type:"get",
            url: "/systemConfig/list",
            dataType: "json",
            data: ({
                currentPage: 1,
                pageSize: 100
            }),
            async: false, //设置为同步
            success: function (res) {
                if (res && res.code === 200) {
                    if(res.data && res.data.page) {
                        var array = res.data.page.rows;
                        if(array.length > 0) {
                            info = array[0];
                        }
                    }
                }
            },
            //此处添加错误处理
            error:function() {
                $.messager.alert('查询失败','查询系统配置信息异常，请稍后再试！','error');
                return;
            }
        });
        return info;
    }

	//初始化系统基础信息
	function getSystemDepot(){
		var depotList = null;
		$.ajax({
			type:"get",
			url: "/depot/getAllList",
			async:false, //设置为同步
			dataType: "json",
			success: function (res) {
				if(res && res.code === 200) {
					depotList = res.data;
				} else {
					$.messager.alert('提示', '查找系统基础信息异常,请与管理员联系！', 'error');
					return;
				}
			}
		});
		return depotList;
	}

	/**
	 * js生成唯一ID值 32位值随机值
	 * @returns 生成的字符串
	 */
	function uuid()
	{
		var s = [];
		var hexDigits = "0123456789abcdef";
		for (var i = 0; i < 36; i++)
			s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
		s[14] = "4";  // bits 12-15 of the time_hi_and_version field to 0010
		s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1);  // bits 6-7 of the clock_seq_hi_and_reserved to 01
		s[8] = s[13] = s[18] = s[23] = "";
		return s.join("");
	}
	/**
	 * js获取浏览器的地址参数
	 * @param name 地址参数
	 * @return
	 */
	function getUrlParam(name) {
		var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
		var r = window.location.search.substr(1).match(reg);  //匹配目标参数
		if (r != null) return unescape(r[2]); return null; //返回参数值
	}

	/**
	 * 获取按钮的权限
	 */
	function getBtnStr() {
		var funId = window.parent.window.funId; //功能id
		var btnStrList = window.parent.window.winBtnStrList; //按钮功能列表 JSON字符串
		var btnEnableList =""; //按钮列表
		if(funId && btnStrList) {
			btnStrList = JSON.parse(btnStrList);
			for(var i=0; i<btnStrList.length; i++){
				if(btnStrList[i].funId ==funId){
					if(btnStrList[i].btnStr) {
						btnEnableList = btnEnableList + btnStrList[i].btnStr + ",";
					}
				}
			}
			if(btnEnableList) {
				btnEnableList = btnEnableList.substring(0,btnEnableList.length-1);
			}
		}
		return btnEnableList;
	}

	/**
	 * 判断datagrid是否显示操作列
	 * @returns {boolean}
	 */
	function isShowOpFun() {
		var btnStr = getBtnStr();
		var isShowOp = false;
		if(btnStr && btnStr.indexOf(1)>-1){
			isShowOp = true; //显示
		}
		return isShowOp;
	}

	/**
	 * 工具栏显示与否
	 */
	function toolbarStatus() {
		var btnStr = getBtnStr();
		if(btnStr && btnStr.indexOf(1)>-1) {
			$(".datagrid-toolbar").show();
		} else {
			$(".datagrid-toolbar").remove();
		}
	}

	/**
	 * js获取当前时间， 格式“yyyy-MM-dd HH:MM:SS”
	 */
	function getNowFormatDateTime() {
		var date = new Date();
		var seperator1 = "-";
		var seperator2 = ":";
		var month = date.getMonth() + 1;
		var strDate = date.getDate();
		var strHours = date.getHours();
		var strMinutes = date.getMinutes();
		var strSeconds = date.getSeconds();
		if (month >= 1 && month <= 9) {
			month = "0" + month;
		}
		if (strDate >= 0 && strDate <= 9) {
			strDate = "0" + strDate;
		}
		if (strHours >= 0 && strHours <= 9) {
			strHours = "0" + strHours;
		}
		if (strMinutes >= 0 && strMinutes <= 9) {
			strMinutes = "0" + strMinutes;
		}
		if (strSeconds >= 0 && strSeconds <= 9) {
			strSeconds = "0" + strSeconds;
		}
		var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
			+ " " + strHours + seperator2 + strMinutes
			+ seperator2 + strSeconds;
		return currentdate;
	}

	/**
	 * js获取当前时间， 格式“yyyy-MM”
	 */
	function getNowFormatMonth() {
		var date = new Date();
		var seperator1 = "-";
		var month = date.getMonth() + 1;
		if (month >= 1 && month <= 9) {
			month = "0" + month;
		}
		var currentdate = date.getFullYear() + seperator1 + month;
		return currentdate;
	}

	/**
	 * js获取当前时间， 格式“yyyy-MM-dd”
	 */
	function getNowFormatDate() {
		var date = new Date();
		var seperator1 = "-";
		var seperator2 = ":";
		var month = date.getMonth() + 1;
		var strDate = date.getDate();
		if (month >= 1 && month <= 9) {
			month = "0" + month;
		}
		if (strDate >= 0 && strDate <= 9) {
			strDate = "0" + strDate;
		}
		var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate;
		return currentdate;
	}

	/**
	 * js获取当前时间， 格式“yyyyMMdd”
	 */
	function getNowFormatDateTwo() {
		var date = new Date();
		var month = date.getMonth() + 1;
		var strDate = date.getDate();
		if (month >= 1 && month <= 9) {
			month = "0" + month;
		}
		if (strDate >= 0 && strDate <= 9) {
			strDate = "0" + strDate;
		}
		var currentdate = date.getFullYear() + month.toString() + strDate.toString();
		return currentdate;
	}

	/**
	 * js根据时间生成编号， 格式“yyyyMMddHHMMSS”
	 */
	function getNowFormatDateNum() {
		var date = new Date();
		var seperator1 = "-";
		var seperator2 = ":";
		var month = date.getMonth() + 1;
		var strDate = date.getDate();
		var strHours = date.getHours();
		var strMinutes = date.getMinutes();
		var strSeconds = date.getSeconds();
		if (month >= 1 && month <= 9) {
			month = "0" + month;
		}
		if (strDate >= 0 && strDate <= 9) {
			strDate = "0" + strDate;
		}
		if (strHours >= 0 && strHours <= 9) {
			strHours = "0" + strHours;
		}
		if (strMinutes >= 0 && strMinutes <= 9) {
			strMinutes = "0" + strMinutes;
		}
		if (strSeconds >= 0 && strSeconds <= 9) {
			strSeconds = "0" + strSeconds;
		}
		var currentdate = date.getFullYear() + month.toString() + strDate.toString() + strHours
			+ strMinutes + strSeconds;
		return currentdate;
	}

	function encode(name){
		return encodeURI(encodeURI(name));
	}

	/**
	 * 将数组单个金额中的数值转为正数
	 * @param arr
	 * @returns {Array}
	 */
	function changeListFmtPlus(arr) {
		var newArr = new Array();
		for(var i=0; i<arr.length; i++) {
			if(arr[i] < 0){
				newArr.push((0 - arr[i]).toString());
			}
			else {
				newArr.push((arr[i]-0).toString());
			}
		}
		return newArr;
	}

	/**
	 * 将数组单个金额中的数值转为负数
	 * @param arr
	 * @returns {Array}
	 */
	function changeListFmtMinus(arr) {
		var newArr = new Array();
		for(var i=0; i<arr.length; i++) {
			if(arr[i] < 0){
				newArr.push((arr[i]-0).toString());
			}
			else {
				newArr.push((0 - arr[i]).toString());
			}
		}
		return newArr;
	}

    /**
	 * 验证单据
     * @param id
     */
    function validateForm(id) {
        if(!$('#'+ id).form('validate')) {
        	return true;
		} else {
        	return false;
		}
	}

    function turnBillDetailPage(number, type) {
        js.addTabPage(null, "单据明细", "/pages/bill/bill_detail.html?n="+ number + "&type=" + type);
    }

    /**
	 * 验证手机号码
     * @param phoneInput
     * @returns {boolean}
     */
    function isPhoneAvailable(phoneInput) {
        var myreg=/^[1][3,4,5,7,8,9][0-9]{9}$/;
        if (!myreg.test(phoneInput.val())) {
            return false;
        } else {
            return true;
        }
    }

    /**
	 * 检查当前用户是否是管理员
     */
    function checkPower() {
    	var res = false;
        var loginName = sessionStorage.getItem("loginName");
        if(loginName == "admin") {
            $.messager.alert('提示','管理员不能增加表单数据，请使用租户账号进行操作！','warning');
            res = true;
        } else {
            res = false;
		}
		return res;
	}

	/**
	 * 检查当前用户是否是管理员-用户模块
	 */
	function checkPowerForUser() {
		var res = false;
		var loginName = sessionStorage.getItem("loginName");
		if(loginName == "admin") {
			$.messager.alert('提示：本系统为多租户SAAS系统','请先到<a target="_parent" href="/register.html">注册页面</a>' +
				'进行租户注册，<br/>然后使用租户账号登录系统，<br/>最后通过租户去创建用户！','warning');
			res = true;
		} else {
			res = false;
		}
		return res;
	}

	/**
	 * 判断一个值是否数字
	 * @param value
	 * @returns {boolean}
	 */
	function myIsNaN(value) {
		return typeof value === 'number' && !isNaN(value);
	}

	/**
	 * 敲回车键自动跳转到下一个文本框
	 * @param inputDom
	 */
	function autoJumpNextInput(inputDom, appendDom) {
		inputDom.on("keydown","input:text:visible",function(e){
			//响应回车键按下的处理
			var e = event || window.event || arguments.callee.caller.arguments[0];
			//捕捉是否按键为回车键，可百度JS键盘事件了解更多
			if(e && e.keyCode==13) {
				//捕捉inputDom下的文本输入框的个数
				var inputs = inputDom.find("input:text:visible");
				//console.log(inputs.length);
				var idx = inputs.index(this);                         // 获取当前焦点输入框所处的位置
				if (idx == inputs.length - 1) {                       // 判断是否是最后一个输入框
					var curKey = e.which;
					if (curKey == 13) {
						appendDom.click(); //新增行
					}
				} else {
					inputs[idx + 1].focus(); // 设置焦点
					inputs[idx + 1].select(); // 选中文字
				}
			}
		});
	}

	// 格式化日期，如月、日、时、分、秒保证为2位数
	function formatNumber (n) {
		n = n.toString();
		return n[1] ? n : '0' + n;
	}

	// 参数number为毫秒时间戳，format为需要转换成的日期格式
	function formatTime(number, format) {
		if(number) {
			var time = new Date(number);
			var newArr = [];
			var formatArr = ['Y', 'M', 'D', 'h', 'm', 's'];
			newArr.push(time.getFullYear());
			newArr.push(formatNumber(time.getMonth() + 1));
			newArr.push(formatNumber(time.getDate()));
			newArr.push(formatNumber(time.getHours()));
			newArr.push(formatNumber(time.getMinutes()));
			newArr.push(formatNumber(time.getSeconds()));
			for (var i in newArr) {
				format = format.replace(formatArr[i], newArr[i]);
			}
			return format;
		}
	}