	//初始化界面
	var defDepotId = null;
	var kid = sessionStorage.getItem("userId");
    var pageType = getUrlParam('t');  //获取页面类型传值
	var depotList = null;
	var userBusinessList=null;
	var userdepot=null;
	var url;
	var editIndex = undefined;
	var depotHeadID = 0;
	var preTotalPrice = 0; //前一次加载的金额
	var listTitle = ""; //单据标题
	var listType = ""; //入库 出库
	var listSubType = ""; //采购 销售等
	var payTypeTitle = "";//付款 收款
	var organUrl = ""; //组织数据接口地址
	var amountNum = ""; //单据编号开头字符
	var depotString = ""; //店铺id列表
	var orgDefaultId=''; //单位默认编号
	var orgDefaultList; //存储查询出来的会员列表
	var accountList; //账户列表
	var outItemList; //支出项目列表
	var oldNumber = ""; //编辑前的单据编号
	var oldId = 0; //编辑前的单据Id
	var otherColumns = true; //明细中的‘别名’列是否显示
	var btnEnableList = getBtnStr(); //获取按钮的权限
	var mPropertyList = ""; //商品属性列表
	var defaultAccountId = 0; //默认账户id
	var roleType = ""; //角色类型
	var inOutService = {
		getRoleType: function () {
			$.ajax({
				type:"get",
				url: "/user/getRoleTypeByUserId",
				async: false,
				success: function (res) {
					if (res && res.code === 200) {
						roleType = res.data.roleType;
					}
					else {
						roleType = null;
					}
				}
			});
		},
		//初始化系统基础信息
		initSystemData_UB: function () {
			$.ajax({
				type:"get",
				url: "/userBusiness/getBasicData",
				data: ({
					KeyId:kid,
					Type:"UserDepot"
				}),
				//设置为同步
				async:false,
				dataType: "json",
				success: function (res) {
					if (res && res.code === 200) {
						userBusinessList = res.data.userBusinessList;
						if(userBusinessList !=null) {
							if(userBusinessList.length>0) {
								//用户对应的仓库列表 [1][2][3]...
								userdepot =userBusinessList[0].value;
							}
						}
					}
					else {
						userBusinessList = null;
					}
				}
			});
		},
		//初始化系统仓库信息
		initSystemData_depot: function () {
			var config = getSystemConfig();
			var depotList = getSystemDepot();
			if(depotList !=null) {
				for(var i = 0 ;i < depotList.length;i++) {
					var depot = depotList[i];
					if(config && config.depotFlag == "1") {
						if(userdepot!=null) {
							if(userdepot.indexOf("["+depot.id+"]")!=-1) {
								if(depot.isDefault){
									defDepotId =  depot.id;
								}
								depotString = depotString + depot.id + ",";
							}
						}
					} else {
						if(depot.isDefault){
							defDepotId =  depot.id;
						}
					}
				}
				depotString = depotString.substring(0, depotString.length-1);
			}
		},
		//初始化供应商、客户、散户信息
		initSupplier: function () {
			$('#OrganId').combobox({
				url: organUrl,
				valueField:'id',
				textField:'supplier',
				filter: function(q, row){
					var opts = $(this).combobox('options');
					return row[opts.textField].indexOf(q) >-1;
				},
				onLoadSuccess: function(res) {
					var data = $(this).combobox('getData');
					for(var i = 0; i<= data.length; i++){
						if(data && data[i] && data[i].supplier === "非会员"){
							orgDefaultId = data[i].id;
						}
					}
					if(listSubType === "零售"){
						orgDefaultList = res;
					}
				},
				onSelect: function(rec){
					if(listSubType === "零售"){
						var option = "";
						if(rec.supplier !== "非会员" && rec.advanceIn >0){
							option = '<option value="预付款">预付款(' + rec.advanceIn + ')</option>';
							option += '<option value="现付">现付</option>';
						}
						else {
							option += '<option value="现付">现付</option>';
						}
						$("#payType").empty().append(option);
					}
				}
			});
		},
		//初始化销售人员
		initSalesman: function () {
			$('#Salesman').combobox({
				url: "/person/getPersonByNumType?type=1",
				valueField:'id',
				textField:'name',
				multiple: true
			});
		},
		//初始化收入项目列表
		initOutItemList: function () {
			$.ajax({
				type:"get",
				url: "/inOutItem/findBySelect?type=out",
				//设置为同步
				async:false,
				dataType: "json",
				success: function (res){
					if(res){
						outItemList = res;
					}
				},
				error:function(){

				}
			});
		},
		//初始化商品属性
		initMProperty: function () {
			$.ajax({
				type: "get",
				url: "/materialProperty/list",
				dataType: "json",
				data: ({
					search: JSON.stringify({
						name: ""
					}),
					currentPage: 1,
					pageSize: 100
				}),
				success: function (res) {
					if(res && res.code === 200){
						if(res.data && res.data.page) {
							var thisRows = res.data.page.rows;
							for (var i = 0; i < thisRows.length; i++) {
								if (thisRows[i].enabled) {
									mPropertyList += thisRows[i].nativeName + ",";
								}
							}
							if (mPropertyList) {
								mPropertyList = mPropertyList.substring(0, mPropertyList.length - 1);
							}
						}
					}
				},
				//此处添加错误处理
				error:function() {
					$.messager.alert('查询提示','查询信息异常，请稍后再试！','error');
					return;
				}
			});
		},
		//获取账户信息
		initSystemData_account: function () {
			$.ajax({
				type:"get",
				url: "/account/getAccount",
				//设置为同步
				async:false,
				dataType: "json",
				success: function (res) {
					if(res && res.code === 200) {
						if(res.data) {
							accountList = res.data.accountList;
							var options = "";
							if(accountList !=null){
								options = "<option value=''>(空)</option>";
								options += "<option value='many' class='many' data-manyAmount=''>多账户</option>";
								for(var i = 0 ;i < accountList.length;i++) {
									var account = accountList[i];
									options += '<option value="' + account.id + '" data-currentAmount="' + account.currentAmount + '">' + account.name + '</option>';
									if(account.isDefault) {
										defaultAccountId = account.id; //给账户赋值默认id
									}
								}
								$("#AccountId").empty().append(options);
							}
						}
					}
				}
			});
		},
		//防止表单提交重复
		initForm: function () {
			$('#depotHeadFM').form({
				onSubmit: function(){
					return false;
				}
			});
		},
		//查找库存的方法
		findStockNumById: function (depotId, meId, monthTime, currentRowDom, input, ratio, type) {
			var thisRatio = 1; //比例
			$.ajax({
				url: "/material/findByIdWithBarCode",
				type: "get",
				dataType: "json",
				data: {
					meId: meId,
					mpList: mPropertyList
				},
				success: function (rec) {
					if(rec && rec.code === 200) {
						var info = rec.data;
						var commodityUnit = info.commodityUnit; //商品单位
						var loadRatio = 1; //在单位输入框上面加载比例字段
						if(info.unit) { //如果存在计量单位信息
							loadRatio = 1;
						}
						else{
							var unitName = info.unitName;
							if(unitName) {
								thisRatio = unitName.substring(unitName.indexOf(":")+1).replace(")","");
								unitName = unitName.substring(0, unitName.indexOf("("));
							}
							var unitArr = unitName.split(",");
							var basicUnit = unitArr[0]; //基础单位
							var otherUnit = unitArr[1]; //副单位
							if(basicUnit==commodityUnit){ //基础单位等于选择的单位
								loadRatio = 1;
							}
							else if(otherUnit==commodityUnit){ //副单位等于选择的单位
								loadRatio = thisRatio;
							}
						}
						//查询库存
						$.ajax({
							type: "get",
							url: '/depotItem/findStockNumById',
							data:{
								depotId: depotId,
								mId: info.id
							},
							dataType: "json",
							success: function (res) {
								if(res && res.code === 200) {
									if (res.data) {
										var thisStock = res.data.stock;
										if (type == "select") { //选择下拉框的时候
											if (ratio != undefined && ratio != 1) {
												loadRatio = ratio;
											}
										}
										else if (type == "click") { //点击库存的时候
											if (ratio != undefined) {
												loadRatio = ratio;
											}
										}
										thisStock = (thisStock / loadRatio).toFixed(2);
										currentRowDom.find("[field='Stock']").find(input).val(thisStock).attr("data-stock", thisStock); //加载库存数据
									}
									else {
										currentRowDom.find("[field='Stock']").find(input).val(0).attr("data-stock", 0); //加载库存数据
									}
									currentRowDom.find("[field='Stock']").find(input).prop("readonly", "readonly"); //设置库存数据为只读
								}
							},
							error:function() {
								$.messager.alert('查询提示','查询数据后台异常，请稍后再试！','error');
							}
						});
					}
				},
				error: function () {
					$.messager.alert('查询提示', '查询数据后台异常，请稍后再试！', 'error');
				}
			});
		},
		getInfoByBarCode: function(barCode){
			var materialExtendId = "";
			$.ajax({
				type: "get",
				url: '/materialsExtend/getInfoByBarCode',
				data:{
					barCode: barCode
				},
				async:false,
				dataType: "json",
				success: function (res) {
					if(res && res.code === 200) {
						materialExtendId = res.data.id;
					}
				},
				error: function () {
					$.messager.alert('查询提示', '查询数据后台异常，请稍后再试！', 'error');
				}
			});
			return materialExtendId;
		},
		//优惠率、合计的统计方法
		statisticsFun: function (body,UnitPrice,TaxUnitPrice,OperNumber,footer,taxRate) {
			var TotalPrice = 0;
			var taxLastMoneyTotal = 0;
			//金额的合计
			body.find("[field='AllPrice']").each(function(){
				if($(this).find("div").text()!==""){
					TotalPrice = TotalPrice + parseFloat($(this).find("div").text().toString());
				}
			});
			TotalPrice = TotalPrice + UnitPrice*OperNumber;
			footer.find("[field='AllPrice']").find("div").text((TotalPrice).toFixed(2)); //金额的合计
			//价税合计的总计
			body.find("[field='TaxLastMoney']").each(function(){
				if($(this).find("div").text()!==""){
					taxLastMoneyTotal = taxLastMoneyTotal + (parseFloat($(this).find("div").text().toString())-0);
				}
			});
			taxLastMoneyTotal = taxLastMoneyTotal + (TaxUnitPrice*OperNumber);
			footer.find("[field='TaxLastMoney']").find("div").text((taxLastMoneyTotal).toFixed(2)); //价税合计的页脚总计
			var discount = $("#Discount").val(); //优惠率
			var discountMoney = (taxLastMoneyTotal*discount/100).toFixed(2);
			$("#DiscountMoney").val(discountMoney);//优惠金额
			var discountLastMoney = (taxLastMoneyTotal*(1-discount/100)).toFixed(2);
			$("#DiscountLastMoney").val(discountLastMoney);//优惠后金额
			if($("#AccountId").val()!=="many"){
				var otherMoney = $("#OtherMoney").val()-0;
				var changeAmount = discountLastMoney-0+otherMoney;
				$("#ChangeAmount").val(changeAmount.toFixed(2)); //本次付、收款
			}
			var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款
			$("#Debt").val((discountLastMoney-0+otherMoney-changeAmountNum).toFixed(2)); //本次欠款

			if(listSubType == "零售" || listSubType == "零售退货") {
				$("#ChangeAmount, #getAmount").val((TotalPrice).toFixed(2));
				$("#backAmount").val(0);
			}
		},
		//分页信息处理
		ininPager: function () {
			var self = this;
			try {
				var opts = $("#tableData").datagrid('options');
				var pager = $("#tableData").datagrid('getPager');
				pager.pagination({
					onSelectPage:function(pageNum, pageSize) {
						opts.pageNumber = pageNum;
						opts.pageSize = pageSize;
						pager.pagination('refresh', {
							pageNumber:pageNum,
							pageSize:pageSize
						});
						self.showDepotHeadDetails(pageNum,pageSize);
					}
				});
			}
			catch (e) {
				$.messager.alert('异常处理提示',"分页信息异常 :  " + e.name + ": " + e.message,'error');
			}
		},
		//删除单据信息
		deleteDepotHead: function (depotHeadID, thisOrganId, totalPrice, status) {
			if(status == "1" || status == "2") {
				$.messager.alert('删除提示','已审核和已转的单据不能删除！','warning');
				return;
			}
			$.messager.confirm('删除确认','确定要删除此单据信息吗？',function(r) {
				if (r) {
					$.ajax({
						type:"post",
						url: "/depotHead/deleteDepotHeadAndDetail",
						dataType: "json",
						data:{
							id: depotHeadID
						},
						success: function (res) {
							if(res && res.code == 200) {
								$("#searchBtn").click();
							} else {
								$.messager.alert('删除提示', '删除单据信息失败，请稍后再试！', 'error');
							}
						},
						//此处添加错误处理
						error:function() {
							$.messager.alert('删除提示','删除单据信息异常，请稍后再试！','error');
							return;
						}
					});

					//更新会员的预收款信息
					if(listSubType === "零售") {
						$.ajax({
							type:"post",
							url: "/supplier/updateAdvanceIn",
							dataType: "json",
							data:{
								supplierId: thisOrganId, //会员id
								advanceIn: totalPrice  //删除时同时返还用户的预付款
							},
							success: function(res){
								if(res && res.code === 200) {
									//保存会员预收款成功
								}
							},
							error: function(){
								$.messager.alert('提示','保存信息异常，请稍后再试！','error');
								return;
							}
						});
					}
				}
			});
		},
		//批量删除单据信息
		batDeleteDepotHead: function () {
			var row = $('#tableData').datagrid('getChecked');
			if(row.length == 0) {
				$.messager.alert('删除提示','没有记录被选中！','info');
				return;
			}
			if(row.length > 0) {
				$.messager.confirm('删除确认','确定要删除选中的' + row.length + '条单据信息吗？',function(r) {
					if (r) {
						var ids = "";
						for (var i = 0; i < row.length; i++) {
							if (i == row.length - 1) {
								if (row[i].status == 0) {
									ids += row[i].id;
								}
								break;
							}
							ids += row[i].id + ",";
						}
						if (ids) {
							//批量更新会员的预收款信息
							for (var i = 0; i < row.length; i++) {
								if (listSubType === "零售") {
									$.ajax({
										type: "post",
										url: "/supplier/updateAdvanceIn",
										dataType: "json",
										data: {
											supplierId: row[i].organId, //会员id
											advanceIn: row[i].totalPrice  //删除时同时返还用户的预付款
										},
										success: function (res) {
											if (res && res.code === 200) {
												//保存会员预收款成功
											}
										},
										error: function () {
											$.messager.alert('提示', '保存信息异常，请稍后再试！', 'error');
											return;
										}
									});
								}
							}
							//批量删除
							$.ajax({
								type: "post",
								url: "/depotHead/batchDeleteDepotHeadAndDetail",
								dataType: "json",
								async: false,
								data: ({
									ids: ids
								}),
								success: function (res) {
									if (res && res.code === 200) {
										$("#searchBtn").click();
										$(":checkbox").attr("checked", false);
									} else {
										$.messager.alert('删除提示', '删除单据信息失败，请稍后再试！', 'error');
									}
								},
								//此处添加错误处理
								error: function () {
									$.messager.alert('删除提示', '删除单据信息异常，请稍后再试！', 'error');
									return;
								}
							});
						} else {
							$.messager.alert('删除提示','没有能删除的单据！','warning');
						}
					}
				});
			}
		},
		//批量审核|反审核
		setStatusFun: function (status) {
			var row = $('#tableData').datagrid('getChecked');
			if(row.length == 0) {
				$.messager.alert('提示','没有记录被选中！','info');
				return;
			}
			if(row.length > 0) {
				$.messager.confirm('确认','确定要操作选中的' + row.length + '条信息吗？',function(r) {
					if (r) {
						var ids = "";
						for(var i = 0;i < row.length; i ++) {
							if(i == row.length-1) {
								if(row[i].status != "2") {
									ids += row[i].id;
								}
								break;
							}
							ids += row[i].id + ",";
						}
						if(ids) {
							$.ajax({
								type:"post",
								url: "/depotHead/batchSetStatus",
								dataType: "json",
								async :  false,
								data: ({
									status: status,
									depotHeadIDs : ids
								}),
								success: function (res) {
									if(res && res.code === 200) {
										$("#searchBtn").click();
										$(":checkbox").attr("checked", false);
									} else {
										$.messager.alert('提示', '操作信息失败，请稍后再试！', 'error');
									}
								},
								//此处添加错误处理
								error:function() {
									$.messager.alert('提示','操作信息异常，请稍后再试！','error');
									return;
								}
							});
						} else {
							$.messager.alert('提示','没有能操作的单据！','warning');
						}
					}
				});
			}
		},
		//生成单据编号
		buildNumber: function () {
			$.ajax({
				type: "get",
				url: "/depotHead/buildNumber",
				success:function(res){
					if(res && res.code === 200){
						var obj = res.data;
						var defaultNumber = obj.DefaultNumber;
						var newNumber = amountNum + defaultNumber;
						$("#Number").val(newNumber).attr("data-defaultNumber",newNumber);
					}
				},
				error:function(){
					$.messager.alert('提示','生成单据编号失败！','error');
				}
			});
		},
		//绑定操作事件
		bindEvent: function () {
			var self = this;
			//重置按钮
			$("#searchResetBtn").unbind().bind({
				click:function(){
					$("#searchNumber").textbox("clear");
					$("#searchMaterial").textbox("clear");
					$("#searchBeginTime").datebox("clear");
					$("#searchEndTime").datebox("clear");
					//加载完以后重新初始化
					$("#searchBtn").click();
				}
			});

			//检查单据编号是否存在
			function checkDepotHeadNumber() {
				var thisNumber = $.trim($("#Number").val());
				//表示是否存在 true == 存在 false = 不存在
				var flag = false;
				//开始ajax名称检验，不能重名
				if(thisNumber.length > 0 &&( oldNumber.length ==0 || thisNumber != oldNumber))
				{
					$.ajax({
						type:"get",
						url: "/depotHead/checkIsNumberExist",
						dataType: "json",
						async :  false,
						data: ({
							DepotHeadID : oldId,
							Number : thisNumber
						}),
						success: function (tipInfo)
						{
							flag = tipInfo;
							if(tipInfo)
							{
								$.messager.alert('提示','抱歉，该单据编号已经存在','warning');
								return;
							}
						},
						//此处添加错误处理
						error:function()
						{
							$.messager.alert('提示','检查单据编号是否存在异常，请稍后再试！','error');
							return;
						}
					});
				}
				return flag;
			}

			//打印单据
			$("#printDepotHeadShow").off("click").on("click",function(){
				var tableString = $("#depotHeadDlgShow").html();
				localStorage.setItem("tableString",tableString);
				window.open("../../js/print/print_form.html","location:No;status:No;help:No;dialogWidth:800px;dialogHeight:600px;scroll:auto;");
			});

			//初始化键盘enter事件
			$(document).keydown(function(event){
				//兼容 IE和firefox 事件
				var e = window.event || event;
				var k = e.keyCode||e.which||e.charCode;
				//兼容 IE,firefox 兼容
				var obj = e.srcElement ? e.srcElement : e.target;
				//绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 ---遗留问题 enter键效验 对话框会关闭问题
				if(k == "13"&&(obj.id=="State"||obj.id=="Number"))
				{
					$("#saveDepotHead").click();
				}
				//搜索按钮添加快捷键
				if(k == "13"&&(obj.id=="searchNumber"||obj.id=="searchMaterial"))
				{
					$("#searchBtn").click();
				}
			});

			//优惠率输入框事件
			$("#Discount").off("keyup").on("keyup",function(){
				var footer =$("#depotHeadFM .datagrid-footer");
				var totalPrice = footer.find("[field='TaxLastMoney']").find("div").text();
				var discountNum = $(this).val();
				var discountMoney  = (discountNum/100*totalPrice).toFixed(2);
				var discountLastMoney  = (totalPrice - discountMoney).toFixed(2);
				$("#DiscountMoney").val(discountMoney); //优惠金额
				$("#DiscountLastMoney").val(discountLastMoney); //优惠后金额
				if($("#AccountId").val()!=="many"){
					var otherMoney = $("#OtherMoney").val()-0;
					var changeAmount = discountLastMoney-0+otherMoney;
					$("#ChangeAmount").val(changeAmount.toFixed(2)); //本次付、收款
				}
				var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款
				$("#Debt").val((discountLastMoney-0+otherMoney-changeAmountNum).toFixed(2)); //本次欠款
			});

			//优惠金额输入框事件
			$("#DiscountMoney").off("keyup").on("keyup",function(){
				var footer =$("#depotHeadFM .datagrid-footer");
				var totalPrice = footer.find("[field='TaxLastMoney']").find("div").text();
				var discountMoney = $(this).val();
				var discount  = (discountMoney/totalPrice).toFixed(2)*100;
				var discountLastMoney  = (totalPrice - discountMoney).toFixed(2);
				$("#Discount").val(discount); //优惠金额
				$("#DiscountLastMoney").val(discountLastMoney); //优惠后金额
				if($("#AccountId").val()!=="many"){
					var otherMoney = $("#OtherMoney").val()-0;
					var changeAmount = discountLastMoney-0+otherMoney;
					$("#ChangeAmount").val(changeAmount.toFixed(2)); //本次付、收款
				}
				var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款
				$("#Debt").val((discountLastMoney-0+otherMoney-changeAmountNum).toFixed(2)); //本次欠款
			});

			//付款、收款输入框事件
			$("#ChangeAmount").off("keyup").on("keyup",function(){
				var discountLastMoney = $("#DiscountLastMoney").val()-0;
				var otherMoney = $("#OtherMoney").val()-0;
				var changeAmount = $(this).val();
				var debtMoney  = (discountLastMoney + otherMoney - changeAmount).toFixed(2);
				$("#Debt").val(debtMoney); //本次欠款
			});

			//多账户结算窗口弹出事件
			function depotHeadAccountDlgFun(){
				$('#depotHeadAccountDlg').dialog('open').dialog('setTitle','<img src="/js/easyui/themes/icons/pencil.png"/>&nbsp;多账户结算');
				$("#depotHeadAccountDlg .account-dlg .account-content-tmp").remove(); //先移除输入栏目
				$("#accountMoneyTotalDlg").text(0); //将合计初始化为0
				for(var i=0; i<6; i++) {
					$("#depotHeadAccountDlg .tabs-tmp .account-content-tmp").attr("data-index",5-i); //添加索引
					var contentTmp = $("#depotHeadAccountDlg .tabs-tmp tbody").html();
					var accountDlgHead = $("#depotHeadAccountDlg .account-head-tmp");
					accountDlgHead.after(contentTmp);
				}

				//获取账户信息
				function accountDlgFun() {
					var options = "";
					if(accountList !=null){
						for(var i = 0 ;i < accountList.length;i++) {
							var account = accountList[i];
							options += '<option value="' + account.id + '" data-currentAmount="' + account.currentAmount + '">' + account.name + '</option>';
						}
						$(".account-id-dlg").empty().append("<option></option>").append(options);
					}
				}
				accountDlgFun(); //获取账户信息
				$("#depotHeadAccountDlg .tabs-tmp").hide(); //隐藏模板

				//账户金额输入框事件-多账户
				$("#depotHeadAccountDlg .account-dlg .account-money-dlg").off("keyup").on("keyup",function(){
					var totalAccoutNum = 0;
					$("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){
						var eachAccountMoney = $(this).find(".account-money-dlg").val()-0;
						totalAccoutNum += eachAccountMoney;
					});
					$("#accountMoneyTotalDlg").text(totalAccoutNum);
				});

				//结算多账户列表的切换事件
				$("#depotHeadAccountDlg .account-dlg .account-id-dlg").off("change").on("change",function(){
					var selectAccount = $(this).children('option:selected').text();
					if(selectAccount === ""){
						var thisMoneyDom = $(this).closest(".account-content-tmp").find(".account-money-dlg");
						var thisMoney = thisMoneyDom.val()-0;
						var accountMoneyTotal = $("#accountMoneyTotalDlg").text() - 0;
						$("#accountMoneyTotalDlg").text(accountMoneyTotal - thisMoney);
						thisMoneyDom.val("");  //账户为空时候，将金额也置为空
					}
				});

				//保存按钮事件
				$("#saveDepotHeadAccountDlg").off("click").on("click", function(){
					//完成多账户的json数据存储
					var accountArr = []; //账户id数组
					var accountMoneyArr = []; //账户金额数组
					var errorIndex = -1;
					$("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){
						var thisAccId = $(this).find(".account-id-dlg").val();
						var thisAccMoney =  $(this).find(".account-money-dlg").val();
						if(!thisAccId && thisAccMoney) {
							errorIndex = $(this).attr("data-index")-0;
							return;
						}
						if(thisAccId && !thisAccMoney) {
							errorIndex = $(this).attr("data-index")-0;
							return;
						}
						if(thisAccId && thisAccMoney) {
							accountArr.push(thisAccId);
							accountMoneyArr.push(thisAccMoney);
						}
					});
					if(errorIndex >-1){
						$.messager.alert('错误提示',"第" + (errorIndex+1) + "行数据存在问题，请修改",'warning');
						return;
					}
					var discountLastMoneyNum =$("#DiscountLastMoney").val()-0; //优惠后金额
					var accountMoneyTotal = $("#accountMoneyTotalDlg").text()-0; //本次付款或者收款
					if(accountMoneyTotal===0){
						$.messager.alert('错误提示',"请填写金额后保存",'warning');
						return;
					}
					if(accountArr.length && accountMoneyArr.length) {
						$("#AccountId").attr("data-accountArr",JSON.stringify(accountArr)).attr("data-accountMoneyArr",JSON.stringify(accountMoneyArr));  //json数据存储
					}
					if(listSubType==="零售" || listSubType==="零售退货") {
						$("#getAmount").val(accountMoneyTotal); //给付款或者收款金额赋值
						var backAmount = $("#getAmount").val() - $("#ChangeAmount").val();
						$("#backAmount").val((backAmount - 0).toFixed(2)); //计算找零金额
					}
					else {
						$("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值
					}
					var otherMoney = $("#OtherMoney").val()-0;
					$("#Debt").val((discountLastMoneyNum+otherMoney-accountMoneyTotal).toFixed(2)); //本次欠款
					$("#depotHeadAccountDlg").dialog('close');
				});

				//取消事件
				function cancelFun(){
					if($("#AccountId").attr("data-accountArr")){
						$("#depotHeadAccountDlg").dialog('close');
					}
					else {
						$("#depotHeadAccountDlg").dialog('close');
						$("#AccountId").val("").removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空
						if(listSubType==="零售" || listSubType==="零售退货"){
							$("#ChangeAmount").prop("readonly","readonly");
						}
						else {
							$("#ChangeAmount").removeProp("readonly","readonly");
						}
						$(".many-account-ico").hide(); //隐藏多账户小图标
					}
				}
				//多账户-取消按钮
				$("#cancelDepotHeadAccountDlg").off("click").on("click", function(){
					cancelFun();
				});

				//多账户-右上角的关闭按钮
				$("#depotHeadAccountDlg").prev().find(".panel-tool-close").off("click").on("click", function(){
					cancelFun();
				});
			}
			//点击多账户，弹出输入框
			$("#AccountId").off("change").on("change",function(){
				var selectText = $(this).children('option:selected').text();
				if(selectText === "多账户"){
					$("#ChangeAmount").prop("readonly","readonly");
					depotHeadAccountDlgFun();
					$(".many-account-ico").show(); //显示多账户小图标
				}
				else{
					$(this).removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空
					if(listSubType==="零售" || listSubType==="零售退货"){
						$("#ChangeAmount").prop("readonly","readonly");
					}
					else {
						$("#ChangeAmount").removeProp("readonly","readonly");
					}
					$(".many-account-ico").hide(); //隐藏多账户小图标
				}
			});

			//结算账户-多账户小图标-点击事件
			$(".many-account-ico").off("click").on("click",function(){
				depotHeadAccountDlgFun();
				//给弹窗赋值-多账户数据
				var accountArr = $("#AccountId").attr("data-accountArr");
				accountArr = JSON.parse(accountArr);
				var accountMoneyArr = $("#AccountId").attr("data-accountMoneyArr");
				accountMoneyArr = JSON.parse(accountMoneyArr);
				$("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){
					var index = $(this).attr("data-index");
					$(this).find(".account-id-dlg").val(accountArr[index]);
					$(this).find(".account-money-dlg").val(accountMoneyArr[index]);
				});
				if(listSubType==="零售" || listSubType==="零售退货") {
					$("#accountMoneyTotalDlg").text($("#getAmount").val());
				}
				else {
					$("#accountMoneyTotalDlg").text($("#ChangeAmount").val());
				}
			});

			//点击其它费用的事件
			$(".other-money-ico").off("click").on("click",function(){
				$('#otherMoneyDlg').dialog('open').dialog('setTitle','<img src="/js/easyui/themes/icons/pencil.png"/>&nbsp;其它费用');
				$("#otherMoneyDlg .money-dlg .money-content-tmp").remove(); //先移除输入栏目
				$("#otherMoneyTotalDlg").text(0); //将合计初始化为0
				for(var i=0; i<6; i++) {
					$("#otherMoneyDlg .tabs-tmp .money-content-tmp").attr("data-index",5-i); //添加索引
					var contentTmp = $("#otherMoneyDlg .tabs-tmp tbody").html();
					var moneyDlgHead = $("#otherMoneyDlg .money-head-tmp");
					moneyDlgHead.after(contentTmp);
				}

				//获取支出项目信息
				function moneyDlgFun() {
					var options = "";
					if(outItemList !=null){
						for(var i = 0 ;i < outItemList.length;i++) {
							var money = outItemList[i];
							options += '<option value="' + money.Id + '">' + money.InOutItemName + '</option>';
						}
						$(".money-id-dlg").empty().append("<option></option>").append(options);
					}
				}
				moneyDlgFun(); //获取支出项目信息
				$("#otherMoneyDlg .tabs-tmp").hide(); //隐藏模板

				//支出项目的金额输入框事件
				$("#otherMoneyDlg .money-dlg .other-money-dlg").off("keyup").on("keyup",function(){
					var totalMoneyNum = 0;
					$("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){
						var eachOtherMoney = $(this).find(".other-money-dlg").val()-0;
						totalMoneyNum += eachOtherMoney;
					});
					$("#otherMoneyTotalDlg").text(totalMoneyNum);
				});

				//支出项目列表的切换事件
				$("#otherMoneyDlg .money-dlg .money-id-dlg").off("change").on("change",function(){
					var selectItem = $(this).children('option:selected').text();
					if(selectItem === ""){
						var thisMoneyDom = $(this).closest(".money-content-tmp").find(".other-money-dlg");
						var thisMoney = thisMoneyDom.val()-0;
						var otherMoneyTotal = $("#otherMoneyTotalDlg").text() - 0;
						$("#otherMoneyTotalDlg").text(otherMoneyTotal - thisMoney);
						thisMoneyDom.val("");  //支出项目为空时候，将金额也置为空
					}
				});

				//保存按钮事件
				$("#saveOtherMoneyDlg").off("click").on("click", function(){
					//完成支出项目的json数据存储
					var itemArr = []; //支出项目id数组
					var itemMoneyArr = []; //支出项目金额数组
					var errorIndex = -1;
					$("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){
						var thisId = $(this).find(".money-id-dlg").val();
						var thisMoney =  $(this).find(".other-money-dlg").val();
						if(!thisId && thisMoney) {
							errorIndex = $(this).attr("data-index")-0;
							return;
						}
						if(thisId && !thisMoney) {
							errorIndex = $(this).attr("data-index")-0;
							return;
						}
						if(thisId && thisMoney) {
							itemArr.push(thisId);
							var itemMoneyObj = {};
							itemMoneyObj.otherId = thisId;
							itemMoneyObj.otherMoney = thisMoney;
							itemMoneyArr.push(itemMoneyObj);
						}
					});
					if(errorIndex >-1){
						$.messager.alert('错误提示',"第" + (errorIndex+1) + "行数据存在问题，请修改",'warning');
						return;
					}
					var otherMoneyTotal = $("#otherMoneyTotalDlg").text()-0; //合计金额
					if(otherMoneyTotal === 0){ //0的时候清空缓存数据
						$("#OtherMoney").removeAttr("data-itemArr").removeAttr("data-itemMoneyArr");
					}
					if(itemArr.length && itemMoneyArr.length) {
						$("#OtherMoney").attr("data-itemArr",JSON.stringify(itemArr)).attr("data-itemMoneyArr",JSON.stringify(itemMoneyArr));  //json数据存储
					}
					$("#OtherMoney").val(otherMoneyTotal); //给其它费用赋值
					var discountLastMoney = $("#DiscountLastMoney").val()-0;
					var changeAmount = (discountLastMoney + otherMoneyTotal).toFixed(2);
					$("#ChangeAmount").val(changeAmount); //付款或者收款
					$("#otherMoneyDlg").dialog('close');
				});

				//取消事件
				function cancelFun(){
					if($("#OtherMoney").attr("data-itemArr")){
						$("#otherMoneyDlg").dialog('close');
					}
					else {
						$("#otherMoneyDlg").dialog('close');
						$("#OtherMoney").val("").removeAttr("data-itemArr").removeAttr("data-itemMoneyArr"); //将下拉置空并把缓存参数清空
					}
				}
				//费用-取消按钮
				$("#cancelOtherMoneyDlg").off("click").on("click", function(){
					cancelFun();
				});

				//费用-右上角的关闭按钮
				$("#otherMoneyDlg").prev().find(".panel-tool-close").off("click").on("click", function(){
					cancelFun();
				});

				//给弹窗赋值-其它费用数据
				var itemArr = $("#OtherMoney").attr("data-itemArr");
				if(itemArr) {
					itemArr = JSON.parse(itemArr);
					var itemMoneyArr = $("#OtherMoney").attr("data-itemMoneyArr");
					itemMoneyArr = JSON.parse(itemMoneyArr);
					$("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){
						var index = $(this).attr("data-index");
						$(this).find(".money-id-dlg").val(itemArr[index]);
						if(itemMoneyArr[index]!="undefined"){
							for(var k =0;k<itemMoneyArr.length; k++) {
								if (itemMoneyArr[k].otherId == itemArr[index]) {
									$(this).find(".other-money-dlg").val(itemMoneyArr[k].otherMoney);
								}
							}

						}
					});
				}
				$("#otherMoneyTotalDlg").text($("#OtherMoney").val());
			});
		},
		//查询单据列表信息
		showDepotHeadDetails: function (pageNo,pageSize) {
			var materialParam = $.trim($("#searchMaterial").val());
			var beginTime = $.trim($("#searchBeginTime").val());
			var endTime = $.trim($("#searchEndTime").val());
			if(beginTime) {
				beginTime = beginTime + ' 00:00:00';
			}
			if(endTime) {
				endTime = endTime + ' 23:59:59';
			}
			$.ajax({
				type: "get",
				url: "/depotHead/list",
				dataType: "json",
				data: ({
					search: JSON.stringify({
						type: listType,
						subType: listSubType,
						roleType: roleType,
						status: "",
						number: $.trim($("#searchNumber").val()),
						beginTime: beginTime,
						endTime: endTime,
						materialParam: materialParam,
						depotIds: depotString
					}),
					currentPage: pageNo,
					pageSize: pageSize
				}),
				success: function (res) {
					if(res && res.code === 200){
						if(res.data && res.data.page) {
							$("#tableData").datagrid('loadData', res.data.page);
						}
					}
				},
				//此处添加错误处理
				error: function () {
					$.messager.alert('查询提示', '查询数据后台异常，请稍后再试！', 'error');
					return;
				}
			});
		},
		//自动计算事件
		autoReckon: function () {
			var self = this;
			var inputDom = $("#depotHeadFM .panel.datagrid .datagrid-view2 .datagrid-body");
			var appendDom = $("#depotHeadDlg #append");
			autoJumpNextInput(inputDom, appendDom); //敲回车键自动跳转到下一个文本框
			var body =$("#depotHeadFM .datagrid-view2 .datagrid-body");
			var footer =$("#depotHeadFM .datagrid-view2 .datagrid-footer");
			var input = "input[type=text]";
			body.find(".datagrid-row").find("input").off("keyup").on("keyup",function(){
				editIndex = $(this).closest(".datagrid-row").attr("datagrid-row-index");
			});
			body.find("[field='MaterialExtendId']").find(".textbox-text").focus().select(); //默认选择商品框
			//点击商品下拉框，自动加载数量、单价、金额
			body.find("[field='name'],[field='standard'],[field='model'],[field='materialOther'],[field='Stock'],[field='Unit']")
				.find(input).prop("readonly","readonly");
			//点击商品名称
			body.find("[field='MaterialExtendId']").find(input).next().off("mouseup").on("mouseup",function(){
				var that = $(this);
				var meId = that.find('input.textbox-text').val()-0;
				if(myIsNaN(meId)) {
					$.ajax({
						type: "get",
						url: '/material/getMaterialByMeId',
						data: {
							meId: meId,
							mpList: mPropertyList
						},
						dataType: "json",
						success: function (res) {
							if (res && res.MaterialName) {
								that.find('input.textbox-value').val(meId);
								that.find('input.textbox-text').val(res.MaterialName);
							}
						}
					});
				}
			});
			//单击删除按钮
			body.find("[field='op']").find("img").off("click").on("click",function() {
				$(this).closest(".datagrid-cell").click(); //点击操作
				var row = $('#materialData').datagrid('getChecked');
				$('#materialData').datagrid('deleteRow', $('#materialData').datagrid("getRowIndex", row[0]));
				self.statisticsFun(body,0,0,0,footer,0);
			});
			//修改数量，自动计算金额和合计，另外计算含税单价、税额、价税合计
			body.find("[field='OperNumber']").find(input).off("keyup").on("keyup",function(){
				editIndex = $(this).closest(".datagrid-row").attr("datagrid-row-index");
				var rowDom = body.find(".datagrid-row").eq(editIndex);
				var UnitPrice = rowDom.find("[field='UnitPrice']").find(input).val(); //单价
				var taxRate = rowDom.find("[field='TaxRate']").find(input).val(); //税率
				var OperNumber =$(this).val()-0; //数量
				rowDom.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额
				rowDom.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价
				var TaxUnitPrice = rowDom.find("[field='TaxUnitPrice']").find(input).val()-0; //含税单价
				rowDom.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额
				rowDom.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计
				self.statisticsFun(body,UnitPrice,TaxUnitPrice,OperNumber,footer,taxRate);
			});
			//修改单价，自动计算金额和合计
			body.find("[field='UnitPrice']").find(input).off("keyup").on("keyup",function(){
				editIndex = $(this).closest(".datagrid-row").attr("datagrid-row-index");
				var rowDom = body.find(".datagrid-row").eq(editIndex);
				var UnitPrice =$(this).val()-0; //单价
				var taxRate = rowDom.find("[field='TaxRate']").find(input).val(); //税率
				var OperNumber = rowDom.find("[field='OperNumber']").find(input).val(); //数量
				rowDom.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额
				rowDom.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价
				var TaxUnitPrice = rowDom.find("[field='TaxUnitPrice']").find(input).val()-0; //含税单价
				rowDom.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额
				rowDom.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计
				self.statisticsFun(body,UnitPrice,TaxUnitPrice,OperNumber,footer,taxRate);
			});
			//修改含税单价，自动计算单价、金额、税额、价税合计和合计
			body.find("[field='TaxUnitPrice']").find(input).off("keyup").on("keyup",function(){
				editIndex = $(this).closest(".datagrid-row").attr("datagrid-row-index");
				var rowDom = body.find(".datagrid-row").eq(editIndex);
				var TaxUnitPrice =$(this).val()-0; //含税单价
				var taxRate = rowDom.find("[field='TaxRate']").find(input).val(); //税率
				var UnitPrice = TaxUnitPrice/(1+taxRate/100); //计算单价
				rowDom.find("[field='UnitPrice']").find(input).val((UnitPrice).toFixed(2)); //单价
				var OperNumber = currentRowDom.find("[field='OperNumber']").find(input).val(); //数量
				rowDom.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额
				rowDom.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额
				rowDom.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计
				self.statisticsFun(body,UnitPrice,TaxUnitPrice,OperNumber,footer,taxRate);
			});
			//修改金额，自动计算单价、税额、价税合计和合计
			body.find("[field='AllPrice']").find(input).off("keyup").on("keyup",function(){
				editIndex = $(this).closest(".datagrid-row").attr("datagrid-row-index");
				var rowDom = body.find(".datagrid-row").eq(editIndex);
				var OperNumber = rowDom.find("[field='OperNumber']").find(input).val(); //数量
				var taxRate = rowDom.find("[field='TaxRate']").find(input).val(); //税率
				var AllPrice =$(this).val()-0; //金额
				var UnitPrice = (AllPrice/OperNumber).toFixed(2);
				rowDom.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价
				rowDom.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价
				var TaxUnitPrice = rowDom.find("[field='TaxUnitPrice']").find(input).val()-0; //含税单价
				rowDom.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额
				rowDom.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计
				self.statisticsFun(body,UnitPrice,TaxUnitPrice,OperNumber,footer,taxRate);
			});
			//修改税率，自动计算含税单价、税额、价税合计和合计
			body.find("[field='TaxRate']").find(input).off("keyup").on("keyup",function(){
				editIndex = $(this).closest(".datagrid-row").attr("datagrid-row-index");
				var rowDom = body.find(".datagrid-row").eq(editIndex);
				var taxRate =$(this).val()-0; //税率
				var OperNumber = rowDom.find("[field='OperNumber']").find(input).val(); //数量
				var UnitPrice = rowDom.find("[field='UnitPrice']").find(input).val(); //单价
				rowDom.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价
				var TaxUnitPrice = rowDom.find("[field='TaxUnitPrice']").find(input).val()-0; //含税单价
				rowDom.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额
				rowDom.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计
				self.statisticsFun(body,UnitPrice,TaxUnitPrice,OperNumber,footer,taxRate);
			});
			//修改税额，自动计算税率、含税单价、价税合计和合计
			body.find("[field='TaxMoney']").find(input).off("keyup").on("keyup",function(){
				editIndex = $(this).closest(".datagrid-row").attr("datagrid-row-index");
				var rowDom = body.find(".datagrid-row").eq(editIndex);
				var taxMoney =$(this).val()-0; //税额
				var AllPrice = rowDom.find("[field='AllPrice']").find(input).val(); //金额
				var taxRate = taxMoney/AllPrice*100; //税率
				var OperNumber = rowDom.find("[field='OperNumber']").find(input).val(); //数量
				var UnitPrice = rowDom.find("[field='UnitPrice']").find(input).val(); //单价
				rowDom.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价
				var TaxUnitPrice = rowDom.find("[field='TaxUnitPrice']").find(input).val()-0; //含税单价
				rowDom.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率
				rowDom.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计
				self.statisticsFun(body,UnitPrice,TaxUnitPrice,OperNumber,footer,taxRate);
			});
			//修改价税合计，自动计算税率、含税单价、税额和合计
			body.find("[field='TaxLastMoney']").find(input).off("keyup").on("keyup",function(){
				editIndex = $(this).closest(".datagrid-row").attr("datagrid-row-index");
				var rowDom = body.find(".datagrid-row").eq(editIndex);
				var taxLastMoney =$(this).val()-0; //价税合计
				var AllPrice = rowDom.find("[field='AllPrice']").find(input).val(); //金额
				var taxRate = (taxLastMoney-AllPrice)/AllPrice*100; //税率
				var OperNumber = rowDom.find("[field='OperNumber']").find(input).val(); //数量
				var UnitPrice = rowDom.find("[field='UnitPrice']").find(input).val(); //单价
				rowDom.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价
				var TaxUnitPrice = rowDom.find("[field='TaxUnitPrice']").find(input).val()-0; //含税单价
				rowDom.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率
				rowDom.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额
				self.statisticsFun(body,UnitPrice,TaxUnitPrice,OperNumber,footer,taxRate);
			});
			setTimeout(function(){
				var body =$("#depotHeadFM .datagrid-view2 .datagrid-body");
				var input = "input[type=text]";
				//默认税率为0
				var taxRateDom = body.find(".datagrid-row").eq(editIndex).find("[field='TaxRate']").find(input);
				if(taxRateDom.val() == "") {
					taxRateDom.val(0);
				}
				//在商品类型加载 组装件、普通子件
				var mType = body.find(".datagrid-row").eq(editIndex).find("[field='MType']");
				var rowListLength = mType.find(input).closest(".datagrid-row").attr("datagrid-row-index");
				var mTypeValue = "组合件";
				if(rowListLength > 0){
					mTypeValue = "普通子件";
				}
				if(listSubType == "组装单" || listSubType == "拆卸单"){
					mType.find(input).val(mTypeValue).prop("readonly","readonly");
				}
			},100);
		},
		//单行单列的点击事件
		onClickCell: function(index, field) {
			if (editIndex != index) {
				if (inOutService.endEditing()) {
					if(field != "op") {
						$(this).datagrid('beginEdit', index);
						var ed = $(this).datagrid('getEditor', {index: index, field: field});
						if(ed){
							$(ed.target).select();
						}
						editIndex = index;
						inOutService.autoReckon();
					}
				} else {
					$(this).datagrid('selectRow', editIndex);
				}
			}
		},
		//新增明细
		append: function () {
			if (this.endEditing()) {
				$('#materialData').datagrid('appendRow', {DepotId: defDepotId});
				editIndex = $('#materialData').datagrid('getRows').length - 1;
				$('#materialData').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex);
				this.autoReckon();
			}
		},
		//结束编辑
		endEditing: function(){
			if (editIndex == undefined) { return true }
			if ($('#materialData').datagrid('validateRow', editIndex)) {
				//仓库信息
				var edDepot = $('#materialData').datagrid('getEditor', {index:editIndex,field:'DepotId'});
				if(edDepot) {
					var DepotName = $(edDepot.target).combobox('getText');
					$('#materialData').datagrid('getRows')[editIndex]['DepotName'] = DepotName;
				}
				//调入仓库
				var edAnotherDepot = $('#materialData').datagrid('getEditor', {index:editIndex,field:'AnotherDepotId'});
				if(edAnotherDepot) {
					var AnotherDepotName = $(edAnotherDepot.target).combobox('getText');
					$('#materialData').datagrid('getRows')[editIndex]['AnotherDepotName'] = AnotherDepotName;
				}
				$('#materialData').datagrid('endEdit', editIndex);
				this.autoReckon();
				editIndex = undefined;
				return true;
			} else {
				return false;
			}
		},
		//新增仓库
		appendDepot: function () {
			$('#depotDlg').dialog('open').dialog('setTitle', '<img src="/js/easyui/themes/icons/edit_add.png"/>&nbsp;增加仓库信息');
			$(".window-mask").css({width: webW, height: webH});
			$('#depotFM').form('clear');
			bindDepotEvent();
		},
		//扫码
		switchToBarCode: function () {
			if($('#sweepBarCode').css('display') == "none") {
				$("#sweepBarCode").show().val("");
				$("#sweepBarCode").off("keyup").on("keyup",function(e){
					var evt = window.event || e;
					if (evt.keyCode == 13) {
						var meId = inOutService.getInfoByBarCode($("#sweepBarCode").val());
						var rec = {}; rec.Id = meId;
						var body =$("#depotHeadFM .datagrid-view2 .datagrid-body");
						var rowDom = body.find(".datagrid-row").eq(editIndex);
						var materialName = rowDom.find("[field='name']").find("input[type=text]").val();
						if(materialName){
							inOutService.append(); //新增行
						}
						inOutService.materialSelect(rec, getNowFormatMonth());
					}
				});
			} else {
				$("#sweepBarCode").hide();
			}
		},
		//新增商品
		appendMaterial: function () {
			js.addTabPage(null, "商品信息", "/pages/materials/material.html");
		},
		//判断明细
		CheckData: function (type) {
			var change = $('#materialData').datagrid('getChanges').length;
			if(type =="add" && !change) {
				$.messager.alert('提示','请输入明细信息！','warning');
				return false;
			}
			var row = $('#materialData').datagrid('getRows');
			if(!row.length){
				$.messager.alert('提示',"请输入明细信息！",'info');
				return false;
			}
			var totalRowNum = "";
			for (var i = 0; i < row.length; i++) {
				if (row[i].barCode == "" || row[i].OperNumber == "" || row[i].UnitPrice === "" || row[i].AllPrice === "") {
					totalRowNum += (i + 1) + "、";
				}
			}
			if (totalRowNum != "") {
				var totalRowNum = totalRowNum.substring(0, totalRowNum.length - 1);
				$.messager.alert('提示',"第" + totalRowNum + "行数据填写不完整！",'info');
				return false;
			}
			return true;
		},
		//商品选择列表
		initMaterialSelectData: function(){
			var self = this;
			$('#materialSelectData').datagrid({
				height: 480,
				rownumbers: false,
				//动画效果
				animate: false,
				pagination: true,
				//选中单行
				singleSelect: true,
				collapsible: false,
				//交替出现背景
				striped: true,
				pageSize: 10,
				pageList: initPageNum,
				columns: [[
					{field: 'id',width:35,align:"center",checkbox:true},
					{field: 'mBarCode', title: '条码', width: 120},
					{field: 'name', title: '名称', width: 140},
					{field: 'categoryName', title: '类别', width: 80},
					{field: 'standard', title: '规格', width: 80},
					{field: 'model', title: '型号', width: 80},
					{field: 'unit', title: '单位', width: 60},
					{field: 'stock', title: '库存', width: 50},
					{field: 'expand', title: '扩展信息', width: 80}
				]],
				onBeforeLoad: function(param){
					param.mpList = mPropertyList; //商品属性
				},
				onDblClickRow: function (index, row) {
					var monthTime = getNowFormatMonth();
					$('#materialSelectDlg').dialog('close');
					self.materialSelect(row,monthTime);
				}
			});
		},
		//商品选择列表-分页
		initMaterialSelectPager: function(depotId){
			var self = this;
			try {
				var opts = $("#materialSelectData").datagrid('options');
				var pager = $("#materialSelectData").datagrid('getPager');
				pager.pagination({
					onSelectPage: function (pageNum, pageSize) {
						opts.pageNumber = pageNum;
						opts.pageSize = pageSize;
						pager.pagination('refresh', {
							pageNumber: pageNum,
							pageSize: pageSize
						});
						self.showMaterialSelect(depotId, pageNum, pageSize);
					}
				});
			}
			catch (e) {
				$.messager.alert('异常处理提示', "分页信息异常 :  " + e.name + ": " + e.message, 'error');
			}
		},
		//商品选择列表-查询
		showMaterialSelect: function(depotId, pageNo, pageSize){
			$.ajax({
				type: "get",
				url: "/material/findBySelect",
				dataType: "json",
				data: ({
					categoryId: $("#searchMaterialCategory").combotree("getValue"),
					q: $("#searchBarCode").textbox("getValue"),
					mpList: mPropertyList,
					depotId: depotId,
					page: pageNo,
					rows: pageSize
				}),
				success: function (res) {
					if(res) {
						$("#materialSelectData").datagrid('loadData', res);
					}
				},
				//此处添加错误处理
				error: function () {
					$.messager.alert('查询提示', '查询数据后台异常，请稍后再试！', 'error');
					return;
				}
			});
		},
		//商品选择列表-事件
		materialSelectFun: function(depotId){
			var self = this;
			var monthTime = getNowFormatMonth();
			$("#searchBarCode").textbox("setValue","");
			$("#searchMaterialBtn").off("click").on("click",function(){
				self.showMaterialSelect(depotId,1,initPageSize);
				var opts = $("#materialSelectData").datagrid('options');
				var pager = $("#materialSelectData").datagrid('getPager');
				opts.pageNumber = 1;
				opts.pageSize = initPageSize;
				pager.pagination('refresh', {
					pageNumber: 1,
					pageSize: initPageSize
				});
			});
			//重置按钮
			$("#searchMaterialResetBtn").unbind().bind({
				click: function () {
					$("#searchMaterialCategory").combotree("setValue","");
					$("#searchBarCode").textbox("setValue","");
					$("#searchMaterialBtn").click();
				}
			});
			$("#appendMaterial").off("click").on("click",function(){
				js.addTabPage(null, "商品信息", "/pages/materials/material.html");
			});
			$("#checkMaterial").off("click").on("click",function(){
				var rowData = $("#materialSelectData").datagrid('getChecked')[0];
				$('#materialSelectDlg').dialog('close');
				self.materialSelect(rowData,monthTime);
			});
			$("#searchMaterialBtn").click();
		},
		//选择商品
		materialSelect: function(rec,monthTime) {
			var self = this;
			var body,footer,input; //定义表格和文本框
			var ratio = 1; //比例-名称专用
			var loadRatio = 1; //在单位输入框上面加载比例字段
			if(rec) {
				var meId = rec.Id;
				$.ajax({
					url: "/material/findByIdWithBarCode",
					type: "get",
					dataType: "json",
					data: {
						meId: meId,
						mpList: mPropertyList
					},
					success: function (res) {
						if(res && res.code === 200) {
							var info = res.data;
							var commodityDecimal = info.commodityDecimal-0; //零售价
							var purchaseDecimal = info.purchaseDecimal-0; //采购价
							var wholesaleDecimal = info.wholesaleDecimal-0; //销售价
							var lowDecimal = info.lowDecimal-0; //最低售价
							var commodityUnit = info.commodityUnit; //商品单位
							body =$("#depotHeadFM .datagrid-view2 .datagrid-body");
							footer =$("#depotHeadFM .datagrid-view2 .datagrid-footer");
							input = "input[type=text]";
							var currentRowDom = body.find(".datagrid-row").eq(editIndex);
							currentRowDom.find("[field='barCode']").find(".datagrid-editable-input").textbox("setValue",info.mBarCode).prop("readonly","readonly");
							currentRowDom.find("[field='name']").find(input).val(info.name).prop("readonly","readonly");
							currentRowDom.find("[field='standard']").find(input).val(info.standard).prop("readonly","readonly");
							currentRowDom.find("[field='model']").find(input).val(info.model).prop("readonly","readonly");
							currentRowDom.find("[field='materialOther']").find(input).val(info.materialOther).prop("readonly","readonly");
							currentRowDom.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读
							currentRowDom.find("[field='Unit']").find(input).val(commodityUnit); //设置单位
							if(info.unit){ //如果存在计量单位信息
								ratio = 1; //重置比例为1
								loadRatio = ratio;
							}
							else {
								var unitName = info.unitName;
								if(unitName) {
									ratio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); //给比例赋值
									unitName = unitName.substring(0, unitName.indexOf("("));
								}
								var unitArr = unitName.split(",");
								var basicUnit = unitArr[0]; //基础单位
								var otherUnit = unitArr[1]; //副单位
								if(basicUnit==commodityUnit){ //基础单位等于选择的单位
									loadRatio = 1;
								}
								else if(otherUnit==commodityUnit){ //副单位等于选择的单位
									loadRatio = ratio;
								}
							}
							var detailPrice = 0; //明细列表-单价
							if(listSubType == "零售" || listSubType == "零售退货") {
								detailPrice = commodityDecimal;
							}
							else if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "采购退货列表" || listTitle == "其它入库列表") {
								detailPrice = purchaseDecimal;
							}
							else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "销售退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") {
								detailPrice = wholesaleDecimal;
							}
							//单价和总价赋值
							if(!detailPrice) {
								detailPrice = 0;
							}
							var operNumber = 1;
							currentRowDom.find("[field='OperNumber']").find(input).val(operNumber); //数量初始化
							if($('#sweepBarCode').css('display') == "none") {
								currentRowDom.find("[field='OperNumber']").find(input).focus().select();
							} else {
								$("#sweepBarCode").val("").focus().select();
							}
							currentRowDom.find("[field='UnitPrice']").find(input).val(detailPrice);
							currentRowDom.find("[field='AllPrice']").find(input).val(detailPrice);
							var taxRate = currentRowDom.find("[field='TaxRate']").find(input).val()-0; //获取税率
							currentRowDom.find("[field='TaxUnitPrice']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2));  //含税单价
							var TaxUnitPrice = currentRowDom.find("[field='TaxUnitPrice']").find(input).val()-0; //含税单价
							currentRowDom.find("[field='TaxMoney']").find(input).val((detailPrice*(taxRate/100)).toFixed(2));  //税额
							currentRowDom.find("[field='TaxLastMoney']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2));  //价税合计
							self.statisticsFun(body,detailPrice,TaxUnitPrice,1,footer,taxRate);

							//查询库存信息
							var depotId = currentRowDom.find("[field='DepotId']").find(".textbox-value").val();
							if(depotId) {
								var type = "select"; //type 类型：点击 click，选择 select
								self.findStockNumById(depotId, meId, monthTime, currentRowDom, input, loadRatio, type);
							}
						}
					},
					error: function() {
						$.messager.alert('页面加载提示','页面加载异常，请稍后再试！','error');
					}
				});
			}
		},
		//新增单据主表及单据子表
		addDepotHeadAndDetail: function (url,infoStr) {
			var self = this;
			if(pageType=="skip") {
				sessionStorage.removeItem("rowInfo");
			}
			this.endEditing();
			var rows = $("#materialData").datagrid('getRows');
			$.ajax({
				type:"post",
				url: url,
				contentType:"application/json",
				dataType: "json",
				async :  false,
				data: JSON.stringify({
					info:infoStr,
					rows: JSON.stringify(rows)
				}),
				success: function (tipInfo){
					if(tipInfo){
						if(tipInfo.code!=200){
							$.messager.alert('提示', tipInfo.msg, 'warning');
							return;
						}
						$.messager.alert('提示','保存成功！','info');
						$('#depotHeadDlg').dialog('close');
						var opts = $("#tableData").datagrid('options');
						self.showDepotHeadDetails(opts.pageNumber,opts.pageSize);
					}else {
						$.messager.show({
							title: '错误提示',
							msg: '保存信息失败，请稍后重试!'
						});
					}
				},
				//此处添加错误处理
				error:function() {
					$.messager.alert('提示','保存信息异常，请稍后再试！','error');
					return;
				}
			});
		},
		//修改单据主表及单据子表
		updateDepotHeadAndDetail: function (url,infoStr,preTotalPrice) {
			var self = this;
			this.endEditing();
			var rows = $("#materialData").datagrid('getRows');
			$.ajax({
				type:"post",
				url: url,
				contentType:"application/json",
				dataType: "json",
				async :  false,
				data: JSON.stringify({
					id:url.substring(url.lastIndexOf("?id=")+4,url.length),
					info:infoStr,
					rows: JSON.stringify(rows),
					preTotalPrice:preTotalPrice
				}),
				success: function (tipInfo){
					if(tipInfo){
						if(tipInfo.code!=200){
							$.messager.alert('提示', tipInfo.msg, 'warning');
							return;
						}
						$.messager.alert('提示','保存成功！','info');
						$('#depotHeadDlg').dialog('close');
						var opts = $("#tableData").datagrid('options');
						self.showDepotHeadDetails(opts.pageNumber,opts.pageSize);
						$('#materialData').datagrid('acceptChanges');
					}else {
						$.messager.show({
							title: '错误提示',
							msg: '保存信息失败，请稍后重试!'
						});
					}
				},
				//此处添加错误处理
				error:function() {
					$.messager.alert('提示','保存信息异常，请稍后再试！','error');
					return;
				}
			});
		}
	}