diff --git a/erp_web/js/pages/materials/in_out.js b/erp_web/js/pages/materials/in_out.js index 131435ac..ac92b12e 100644 --- a/erp_web/js/pages/materials/in_out.js +++ b/erp_web/js/pages/materials/in_out.js @@ -27,846 +27,1260 @@ var mPropertyList = ""; //商品属性列表 var defaultAccountId = 0; //默认账户id var roleType = ""; //角色类型 - $(function(){ - //初始化系统基础信息 - getType(); - getRoleType(); - initSystemData_UB(); - initSystemData_depot(); - initSystemData_account(); - initSupplier(); //供应商 - initSalesman(); //销售人员 - initOutItemList(); //初始化支出项目 - initMProperty(); //初始化商品属性 - initTableData(); - ininPager(); - initForm(); - bindEvent();//绑定操作事件 - }); - //根据单据名称获取类型 - function getType(){ - listTitle = $("#tablePanel").prev().text(); - //改变宽度和高度 - $("#searchPanel").panel({width:webW-2}); - $("#tablePanel").panel({width:webW-2}); - var supUrl = "/supplier/findBySelect_sup"; //供应商接口 - var cusUrl = "/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + kid; //客户接口 - var retailUrl = "/supplier/findBySelect_retail"; //散户接口 - if(listTitle === "采购订单列表"){ - listType = "其它"; - listSubType = "采购订单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "CGDD"; - } - else if(listTitle === "采购入库列表"){ - listType = "入库"; - listSubType = "采购"; - payTypeTitle = "付款"; - organUrl = supUrl; - amountNum = "CGRK"; - } - else if(listTitle === "零售退货列表"){ - listType = "入库"; - listSubType = "零售退货"; //注:用预付款购买的产品不能退货 - payTypeTitle = "付款"; - organUrl = retailUrl; - amountNum = "LSTH"; - } - else if(listTitle === "销售退货列表"){ - listType = "入库"; - listSubType = "销售退货"; - payTypeTitle = "付款"; - organUrl = cusUrl; - amountNum = "XSTH"; - } - else if(listTitle === "其它入库列表"){ - listType = "入库"; - listSubType = "其它"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "QTRK"; - } - else if(listTitle === "零售出库列表"){ - listType = "出库"; - listSubType = "零售"; - payTypeTitle = "收款"; - organUrl = retailUrl; - amountNum = "LSCK"; - } - else if(listTitle === "销售订单列表"){ - listType = "其它"; - listSubType = "销售订单"; - payTypeTitle = "隐藏"; - organUrl = cusUrl; - amountNum = "XSDD"; - } - else if(listTitle === "销售出库列表"){ - listType = "出库"; - listSubType = "销售"; - payTypeTitle = "收款"; - organUrl = cusUrl; - amountNum = "XSCK"; - } - else if(listTitle === "采购退货列表"){ - listType = "出库"; - listSubType = "采购退货"; - payTypeTitle = "收款"; - organUrl = supUrl; - amountNum = "CGTH"; - } - else if(listTitle === "其它出库列表"){ - listType = "出库"; - listSubType = "其它"; - payTypeTitle = "隐藏"; - organUrl = cusUrl; - amountNum = "QTCK"; - } - else if(listTitle === "调拨出库列表"){ - listType = "出库"; - listSubType = "调拨"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "DBCK"; - } - else if(listTitle === "组装单列表"){ - listType = "其它"; - listSubType = "组装单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "ZZD"; - } - else if(listTitle === "拆卸单列表"){ - listType = "其它"; - listSubType = "拆卸单"; - payTypeTitle = "隐藏"; - organUrl = supUrl; - amountNum = "CXD"; - } - } - function getRoleType(){ - $.ajax({ - type:"get", - url: "/user/getRoleTypeByUserId", - async: false, - success: function (res) { - if (res && res.code === 200) { - roleType = res.data.roleType; - } - else { - roleType = null; - } - } - }); - } - //初始化系统基础信息 - function initSystemData_UB(){ - $.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; - } - } - }); - } - - //初始化系统仓库信息 - function initSystemData_depot(){ - 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); - } - } - //初始化供应商、客户、散户信息 - function initSupplier(){ - $('#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 += ''; + 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 { - option += ''; + roleType = null; } - $("#payType").empty().append(option); - } - } - }); - } - //初始化销售人员 - function initSalesman(){ - $('#Salesman').combobox({ - url: "/person/getPersonByNumType?type=1", - valueField:'id', - textField:'name', - multiple: true - }); - } - //初始化收入项目列表 - function initOutItemList(){ - $.ajax({ - type:"get", - url: "/inOutItem/findBySelect?type=out", - //设置为同步 - async:false, - dataType: "json", - success: function (res){ - if(res){ - outItemList = res; - } - }, - error:function(){ - - } - }); - } - //初始化商品属性 - function initMProperty(){ - $.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; - } - }); - } - //获取账户信息 - function initSystemData_account(){ - $.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 = ""; - options += ""; - for(var i = 0 ;i < accountList.length;i++) { - var account = accountList[i]; - options += ''; - if(account.isDefault) { - defaultAccountId = account.id; //给账户赋值默认id - } - } - $("#AccountId").empty().append(options); - } - } - } - } - }); - } - //防止表单提交重复 - function initForm(){ - $('#depotHeadFM').form({ - onSubmit: function(){ - return false; - } - }); - } - //初始化表格数据 - function initTableData(){ - if(pageType === "skip") { - addDepotHead(); //自动弹出编辑框,带缓存数据 - } - var hideType = undefined; - var isHiddenStatus = true; - if(payTypeTitle === "隐藏"){ - hideType = true; //隐藏当前列 - } - var tableToolBar = [ - { - id:'addDepotHead', - text:'增加', - iconCls:'icon-add', - handler:function() { - addDepotHead(); - } - }, - { - id:'deleteDepotHead', - text:'删除', - iconCls:'icon-remove', - handler:function() { - batDeleteDepotHead(); - } - } - ]; - //如果允许的按钮列表中存在就显示,2-代表审核|反审核的权限 - if(btnEnableList && btnEnableList.indexOf(2)>-1 && listTitle.indexOf("订单")>-1){ - isHiddenStatus = false; //显示 - tableToolBar.push({ - id:'okDepotHead', - text:'审核', - iconCls:'icon-ok', - handler:function() { - setStatusFun("1"); - } - }, - { - id:'undoDepotHead', - text:'反审核', - iconCls:'icon-undo', - handler:function() { - setStatusFun("0"); } }); - } - else { - isHiddenStatus = true; //隐藏 - } - var isShowLastMoneyColumn = false; //是否显示优惠后金额和价税合计,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowLastMoneyColumn = true; //隐藏 - } - var isShowOrganNameColumn = false; //是否显示供应商、客户等信息,true为隐藏,false为显示 - var organNameTitle = ""; //组织名称标题 - if(listSubType == "调拨" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowOrganNameColumn = true; //隐藏 - } - else { - if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "采购退货列表" || listTitle == "其它入库列表"){ - organNameTitle = "供应商名称"; - } - else if(listTitle == "销售订单列表" || listTitle == "销售退货列表" || listTitle == "销售出库列表" || listTitle == "其它出库列表"){ - organNameTitle = "客户名称"; - } - else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){ - organNameTitle = "会员卡号"; - } - } - var opWidth = 90; //操作宽度 - var isShowSkip = false; //是否显示跳转按钮 - var opTitle = ""; //跳转按钮的标题 - if(listTitle == "采购订单列表") { - opWidth = 120; - isShowSkip = true; - opTitle = "转采购入库"; - } else if(listTitle == "销售订单列表") { - opWidth = 120; - isShowSkip = true; - opTitle = "转销售出库"; - } - $('#tableData').datagrid({ - height:heightInfo, - rownumbers: false, - //动画效果 - animate:false, - //选中单行 - singleSelect : true, - collapsible:false, - selectOnCheck:false, - pagination: true, - //交替出现背景 - striped : true, - pageSize: 10, - pageList: initPageNum, - columns:[[ - { field: 'id',width:35,align:"center",checkbox:true}, - { title: '操作',field: 'op',align:"center", width:opWidth, - formatter:function(value,rec,index) { - var str = ''; - var orgId = rec.organId? rec.organId:0; - str += '   '; - if(isShowOpFun()){ - str += '   '; - str += ''; - } - if(isShowSkip) { - str += '   '; - } - return str; - } - }, - { title: organNameTitle, field: 'organName',width:120, hidden:isShowOrganNameColumn}, - { title: '单据编号',field: 'number',width:155, formatter:function (value,rec) { - if(rec.linknumber) { - return value + "[转]"; - } else { - return value; + }, + //初始化系统基础信息 + 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; + } } } - }, - { title: '商品信息',field: 'materialsList',width:200,formatter:function(value){ - if(value) { - return value.replace(",",","); - } - } - }, - { title: '单据日期',field: 'operTimeStr',width:145}, - { title: '操作员',field: 'userName',width:60}, - { title: '金额合计',field: 'totalPrice',width:70}, - { title: '含税合计',field: 'totalTaxLastMoney',hidden:isShowLastMoneyColumn,width:70,formatter:function(value,rec){ - return (rec.discountMoney + rec.discountLastMoney).toFixed(2); - } - }, - { title: '优惠后金额',field: 'discountLastMoney',hidden:isShowLastMoneyColumn,width:80}, - { title: payTypeTitle,field: 'changeAmount',width:50,hidden:hideType}, - { title: '状态',field: 'status',hidden:isHiddenStatus, width:70,align:"center",formatter:function(value){ - if(value === "0") { - return "未审核"; - } else if(value === "1") { - return "已审核"; - } else if(value === "2") { - if(listTitle == "采购订单列表") { - return "已转采购"; - } else if(listTitle == "销售订单列表") { - return "已转销售"; - } - } + else { + userBusinessList = null; } } - ]], - toolbar:tableToolBar, - onLoadError:function() { - $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); - return; - } - }); - dgResize(); - toolbarStatus(); - } - //查找库存的方法 - function findStockNumById(depotId, meId, monthTime, body, input, ratio, type){ - var thisRatio = 1; //比例 - $.ajax({ - url: "/material/findByIdWithBarCode", - type: "get", - dataType: "json", - data: { - meId: meId - }, - 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("(")); + }); + }, + //初始化系统仓库信息 + 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 + ","; + } } - var unitArr = unitName.split(","); - var basicUnit = unitArr[0]; //基础单位 - var otherUnit = unitArr[1]; //副单位 - if(basicUnit==commodityUnit){ //基础单位等于选择的单位 + } 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 += ''; + } + else { + 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 = ""; + options += ""; + for(var i = 0 ;i < accountList.length;i++) { + var account = accountList[i]; + options += ''; + if(account.isDefault) { + defaultAccountId = account.id; //给账户赋值默认id + } + } + $("#AccountId").empty().append(options); + } + } + } + } + }); + }, + //防止表单提交重复 + initForm: function () { + $('#depotHeadFM').form({ + onSubmit: function(){ + return false; + } + }); + }, + //查找库存的方法 + findStockNumById: function (depotId, meId, monthTime, body, input, ratio, type) { + var thisRatio = 1; //比例 + $.ajax({ + url: "/material/findByIdWithBarCode", + type: "get", + dataType: "json", + data: { + meId: meId + }, + 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 if(otherUnit==commodityUnit){ //副单位等于选择的单位 - loadRatio = thisRatio; + 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); + body.find("[field='Stock']").find(input).val(thisStock).attr("data-stock", thisStock); //加载库存数据 + } + else { + body.find("[field='Stock']").find(input).val(0).attr("data-stock", 0); //加载库存数据 + } + body.find("[field='Stock']").find(input).prop("readonly", "readonly"); //设置库存数据为只读 + } + }, + error:function() { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + } + }); + } + }, + error: function () { + $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); + } + }); + }, + //优惠率、合计的统计方法 + statisticsFun: function (body,UnitPrice,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 + (UnitPrice*OperNumber*(1+taxRate/100)); + 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; + self.showDepotHeadDetails(1,initPageSize); //初始化时自动查询 + //搜索处理 + $("#searchBtn").off("click").on("click",function(){ + self.showDepotHeadDetails(1,initPageSize); + var opts = $("#tableData").datagrid('options'); + var pager = $("#tableData").datagrid('getPager'); + opts.pageNumber = 1; + opts.pageSize = initPageSize; + pager.pagination('refresh', + { + pageNumber:1, + pageSize:initPageSize + }); + }); + + //重置按钮 + $("#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: '/depotItem/findStockNumById', - data:{ - depotId: depotId, - mId: info.id - }, + type:"get", + url: "/depotHead/checkIsNumberExist", 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); - body.find("[field='Stock']").find(input).val(thisStock).attr("data-stock", thisStock); //加载库存数据 - } - else { - body.find("[field='Stock']").find(input).val(0).attr("data-stock", 0); //加载库存数据 - } - body.find("[field='Stock']").find(input).prop("readonly", "readonly"); //设置库存数据为只读 - } + async : false, + data: ({ + DepotHeadID : oldId, + Number : thisNumber + }), + success: function (tipInfo) + { + flag = tipInfo; + if(tipInfo) + { + $.messager.alert('提示','抱歉,该单据编号已经存在','warning'); + return; + } }, - error:function() { - $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','检查单据编号是否存在异常,请稍后再试!','error'); + return; } }); } - }, - error: function () { - $.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error'); + return flag; } - }); - } - //优惠率、合计的统计方法 - function statisticsFun(body,UnitPrice,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 + (UnitPrice*OperNumber*(1+taxRate/100)); - 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); - } - } - //初始化表格数据-商品列表-编辑状态 - function initTableData_material(type,TotalPrice){ - var body,footer,input; //定义表格和文本框 - var ratioDepot = 1; //比例-仓库用 - var monthTime = getNowFormatMonth(); - var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 - var depotHeadName = ""; //仓库名称 - var depotUrl = ""; //仓库接口地址 - var depotTextField = ""; //仓库下拉名称 - var anotherDepotHeadName = ""; //对方仓库的列的标题 - var anotherDepotUrl = ""; //对方仓库接口地址 - var anotherDepotTextField = ""; - if(listSubType == "调拨"){ - isShowAnotherDepot = false; //调拨时候显示对方仓库 - anotherDepotHeadName = "调入仓库"; - anotherDepotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; - anotherDepotTextField = "depotName"; - } - depotHeadName = "仓库名称"; - depotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid; - depotTextField = "depotName"; - var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowTaxColumn = true; //隐藏 - } - var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 - if(listSubType == "组装单" || listSubType == "拆卸单"){ - isShowMaterialTypeColumn = false; //显示 - } - $('#materialData').datagrid({ - height:345, - rownumbers: false, - //动画效果 - animate:false, - //选中单行 - singleSelect : true, - collapsible:false, - selectOnCheck:false, - //单击行是否选中 - checkOnSelect : false, - pagination: false, - //交替出现背景 - striped : true, - showFooter: true, - //loadFilter: pagerFilter, - onClickRow: onClickRow, - columns:[[ - { field: 'Id',width:35,align:"center",checkbox:true}, - { title: '商品类型',field: 'MType',editor:'validatebox',hidden:isShowMaterialTypeColumn,width:80}, - { title: depotHeadName, field: 'DepotId', editor: 'validatebox', width: 90, - formatter: function (value, row, index) { - return row.DepotName; - }, - editor: { - type: 'combobox', - options: { - valueField: 'id', - textField: depotTextField, - method: 'get', - url: depotUrl, - onSelect:function(rec){ - var depotId = rec.id; - body =$("#depotHeadFM .datagrid-body"); - footer =$("#depotHeadFM .datagrid-footer"); - input = ".datagrid-editable-input"; - var mId = body.find("[field='MaterialExtendId']").find(".textbox-value").val(); - if(mId){ - var type = "select"; //type 类型:点击 click,选择 select - findStockNumById(depotId, mId, monthTime, body, input, ratioDepot, type); - } - } - } - } - }, - { title: '条码_名称(规格)(型号)(扩展信息)(单位)',field: 'MaterialExtendId',width:270, - formatter:function(value,row,index){ - return row.MaterialName; - }, - editor:{ - type:'combogrid', - options:{ - url: "/material/findBySelect", - idField:'Id', - textField:'MaterialName', - method:'get', - pagination: true, - mode: 'remote', - hasDownArrow: false, - panelWidth: 630, //下拉框的宽度 - panelHeight: 380,//下拉框的高度 - columns:[[ - {field:'mBarCode',title:'条码',width:120}, - {field:'name',title:'名称',width:140}, - {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){ - var edDepot = $('#materialData').datagrid('getEditor', {index:editIndex,field:'DepotId'}); - if(edDepot) { - param.depotId = $(edDepot.target).combobox('getValue'); - } - param.mpList = mPropertyList; //商品属性 - }, - onLoadSuccess: function (rec) { - if(rec && rec.total==1) { - $(".datagrid-body [field='mBarCode']").click(); //在只有单个商品的时候自动选中 - $("#depotHeadFM .datagrid-body").find("[field='OperNumber']").find(".datagrid-editable-input").focus().select(); - } - }, - onSelect:function(index, rowData){ - materialSelect(rowData); - } - } - } - }, - { title: '库存',field: 'Stock',editor:'validatebox',width:50}, - { title: anotherDepotHeadName, field: 'AnotherDepotId',editor:'validatebox',hidden:isShowAnotherDepot,width:90, - formatter: function (value, row, index) { - return row.AnotherDepotName; - }, - editor: { - type: 'combobox', - options: { - valueField: 'id', - textField: anotherDepotTextField, - method: 'get', - url: anotherDepotUrl - } - } - }, - { title: '单位',field: 'Unit',editor:'validatebox',width:60}, - { title: '数量',field: 'OperNumber',editor:'validatebox',width:60}, - { title: '单价',field: 'UnitPrice',editor:'validatebox',width:60}, - { title: '含税单价',field: 'TaxUnitPrice',editor:'validatebox',hidden:isShowTaxColumn,width:75}, - { title: '金额',field: 'AllPrice',editor:'validatebox',width:75}, - { title: '税率(%)',field: 'TaxRate',editor:'validatebox',hidden:isShowTaxColumn,width:75}, - { title: '税额',field: 'TaxMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, - { title: '价税合计',field: 'TaxLastMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, - { title: '备注',field: 'Remark',editor:'validatebox',width:100} - ]], - toolbar:[ + //打印单据 + $("#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")) { - id:'append', - text:'新增行', - iconCls:'icon-add', - handler:function() { - append(); //新增行 - } - }, + $("#saveDepotHead").click(); + } + //搜索按钮添加快捷键 + if(k == "13"&&(obj.id=="searchState"||obj.id=="searchNumber"||obj.id=="searchMaterial")) { - id:'delete', - text:'删除行', - iconCls:'icon-remove', - handler:function() { - batchDel(); //删除行 - } - }, - { - id:'reject', - text:'撤销', - iconCls:'icon-undo', - handler:function() { - reject(); //撤销 - } - }, - { - id:'appendDepot', - text:'新增仓库', - iconCls:'icon-add', - handler:function() { - appendDepot(); //新增仓库 - } - }, - { - id:'appendMaterial', - text:'新增商品', - iconCls:'icon-add', - handler:function() { - js.addTabPage(null, "商品信息", "/pages/materials/material.html"); - // appendMaterial(); //新增商品 - } - } - ], - onLoadError:function() - { - $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); - return; - } - }); - $.ajax({ - type:"get", - url: '/depotItem/getDetailList', - data: { - headerId: depotHeadID, - mpList: mPropertyList - }, - dataType: "json", - success: function (res) { - if(res && res.code === 200) { - var data = res.data; - var AllPrice = 0; - var TaxLastMoney = 0; - var DiscountMoney = $("#DiscountMoney").val()-0; //优惠金额 - var DiscountLastMoney = $("#DiscountLastMoney").val()-0; //优惠后金额 - if(type === "edit") { - AllPrice = TotalPrice; - TaxLastMoney = DiscountMoney + DiscountLastMoney; - } - var array = []; - array.push({ - "AllPrice": AllPrice, - "TaxLastMoney": TaxLastMoney - }); - data.footer = array; - $("#materialData").datagrid('loadData',data); - if(type === "add") { - $("#depotHeadDlg #append").click(); //新增行 + $("#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',' 多账户结算'); + $("#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 += ''; + } + $(".account-id-dlg").empty().append("").append(options); } } - }, - error:function() { - $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + 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(); + }); } - }); - function materialSelect(rec) { - var body,footer,input; //定义表格和文本框 - var ratio = 1; //比例-名称专用 + //点击多账户,弹出输入框 + $("#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',' 其它费用'); + $("#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 += ''; + } + $(".money-id-dlg").empty().append("").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 0){ + mTypeValue = "普通子件"; + } + if(listSubType == "组装单" || listSubType == "拆卸单"){ + mType.find(input).val(mTypeValue).prop("readonly","readonly"); + } + },500); + }, + //新增明细 + append: function () { + if (endEditing()) { + $('#materialData').datagrid('appendRow', {DepotId:defDepotId}); + editIndex = $('#materialData').datagrid('getRows').length - 1; + $('#materialData').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex); + this.autoReckon(); + } + }, + //批量删除明细 + batchDel: function () { + /** + * 1、删除之前必须先调用endEditing结束编辑 + * 2、如果只是调用endEditing结束编辑那么正在编辑行的被选中状态会被去掉 + * 所以要在调用endEditing先获取选中的行 + */ + var self = this; + var row = $('#materialData').datagrid('getChecked'); + if (endEditing()) { + if (row.length == 0) { + $.messager.alert('删除提示', '没有记录被选中!', 'info'); + return; + } + if (row.length > 0) { + $.messager.confirm('删除确认', '确定要删除选中的' + row.length + '条单据信息吗?', function (r) { + if (r) { + var body =$("#depotHeadFM .datagrid-body"); + var footer =$("#depotHeadFM .datagrid-footer"); + for (var i = 0; i < row.length; i++) { + $('#materialData').datagrid('deleteRow', $('#materialData').datagrid("getRowIndex", row[i])); + self.statisticsFun(body,0,0,footer,0); + } + } + }); + } + } + }, + //单行删除明细 + removeit: function () { + if (editIndex == undefined) { return } + $('#materialData').datagrid('cancelEdit', editIndex) + .datagrid('deleteRow', editIndex); + editIndex = undefined; + }, + //撤销明细 + reject: function () { + $('#materialData').datagrid('rejectChanges'); + editIndex = undefined; + }, + //新增仓库 + appendDepot: function () { + $('#depotDlg').dialog('open').dialog('setTitle', ' 增加仓库信息'); + $(".window-mask").css({width: webW, height: webH}); + $('#depotFM').form('clear'); + bindDepotEvent(); + }, + //新增商品 + appendMaterial: function () { + js.addTabPage(null, "商品信息", "/pages/materials/material.html"); + }, + //判断明细 + CheckData: function (type) { + this.append(); + this.removeit(); + 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].DepotId == "" || row[i].MaterialExtendId == "" || 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; + }, + //选择商品 + 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: { + if(rec) { + var meId = rec.Id; + $.ajax({ + url: "/material/findByIdWithBarCode", + type: "get", + dataType: "json", + data: { meId: meId - }, - success: function (res) { + }, + success: function (res) { if(res && res.code === 200) { var info = res.data; var commodityDecimal = info.commodityDecimal-0; //零售价 @@ -883,1516 +1297,157 @@ ratio = 1; //重置比例为1 loadRatio = ratio; } - else { + 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(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 == "零售退货") { + } + var detailPrice = 0; //明细列表-单价 + if(listSubType == "零售" || listSubType == "零售退货") { detailPrice = commodityDecimal; - } - else if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "采购退货列表" || listTitle == "其它入库列表") { + } + else if(listTitle == "采购订单列表" || listTitle == "采购入库列表" || listTitle == "采购退货列表" || listTitle == "其它入库列表") { detailPrice = purchaseDecimal; - } - else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "销售退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { + } + else if(listTitle == "销售订单列表" || listTitle == "销售出库列表" || listTitle == "销售退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表") { detailPrice = wholesaleDecimal; - } + } //单价和总价赋值 if(!detailPrice) { detailPrice = 0; } var operNumber = 1; body.find("[field='OperNumber']").find(input).val(operNumber); //数量初始化 - body.find("[field='UnitPrice']").find(input).val(detailPrice); - body.find("[field='AllPrice']").find(input).val(detailPrice); - var taxRate = body.find("[field='TaxRate']").find(input).val()-0; //获取税率 - body.find("[field='TaxUnitPrice']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //含税单价 - body.find("[field='TaxMoney']").find(input).val((detailPrice*(taxRate/100)).toFixed(2)); //税额 - body.find("[field='TaxLastMoney']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //价税合计 - statisticsFun(body,detailPrice,1,footer,taxRate); + body.find("[field='UnitPrice']").find(input).val(detailPrice); + body.find("[field='AllPrice']").find(input).val(detailPrice); + var taxRate = body.find("[field='TaxRate']").find(input).val()-0; //获取税率 + body.find("[field='TaxUnitPrice']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + body.find("[field='TaxMoney']").find(input).val((detailPrice*(taxRate/100)).toFixed(2)); //税额 + body.find("[field='TaxLastMoney']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //价税合计 + self.statisticsFun(body,detailPrice,1,footer,taxRate); - //查询库存信息 - var depotId = body.find("[field='DepotId']").find(".textbox-value").val(); - if(depotId) { - var type = "select"; //type 类型:点击 click,选择 select - findStockNumById(depotId, meId, monthTime, body, input, loadRatio, type); - } - } - }, - error: function() { - $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); - } - }); - } - } - } - //初始化表格数据-商品列表-查看状态 - function initTableData_material_show(TotalPrice){ - var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示 - var anotherDepotHeadName = ""; //对方仓库的列的标题 - var depotHeadName = ""; //仓库的列的标题 - if(listSubType == "调拨"){ - isShowAnotherDepot = false; //调拨时候显示对方仓库 - anotherDepotHeadName = "调入仓库"; - } - depotHeadName = "仓库名称"; - var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示 - if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "采购订单" || listSubType == "销售订单" || listSubType == "组装单" || listSubType == "拆卸单"){ - isShowTaxColumn = true; //隐藏 - } - var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示 - if(listSubType == "组装单" || listSubType == "拆卸单"){ - isShowMaterialTypeColumn = false; //显示 - } - $('#materialDataShow').datagrid({ - height:345, - rownumbers: true, - //动画效果 - animate:false, - //选中单行 - singleSelect : true, - collapsible:false, - selectOnCheck:false, - pagination: false, - //交替出现背景 - striped : true, - showFooter: true, - onClickRow: onClickRow, - columns:[[ - { title: '商品类型',field: 'MType',width:80, hidden:isShowMaterialTypeColumn}, - { title: depotHeadName,field: 'DepotName',editor:'validatebox',width:90}, - { title: '条码_名称(规格)(型号)(扩展信息)(单位)',field: 'MaterialName',width:270}, - { title: '库存',field: 'Stock',width:50}, - { title: anotherDepotHeadName,field: 'AnotherDepotName',hidden:isShowAnotherDepot,width:90}, - { title: '单位',field: 'Unit',editor:'validatebox',width:60}, - { title: '数量',field: 'OperNumber',editor:'validatebox',width:60}, - { title: '单价',field: 'UnitPrice',editor:'validatebox',width:60}, - { title: '含税单价',field: 'TaxUnitPrice',editor:'validattebox',hidden:isShowTaxColumn,width:75}, - { title: '金额',field: 'AllPrice',editor:'validatebox',width:75}, - { title: '税率(%)',field: 'TaxRate',editor:'validatebox',hidden:isShowTaxColumn,width:75}, - { title: '税额',field: 'TaxMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, - { title: '价税合计',field: 'TaxLastMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75}, - { title: '备注',field: 'Remark',editor:'validatebox',width:100} - ]], - onLoadError:function() { - $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); - return; - } - }); - $.ajax({ - type:"get", - url: '/depotItem/getDetailList', - data: { - headerId: depotHeadID, - mpList: mPropertyList - }, - dataType: "json", - success: function (res) { - if(res && res.code === 200) { - var data = res.data; - var AllPrice = TotalPrice; - var DiscountMoney = $("#DiscountMoneyShow").text() - 0; //优惠金额 - var DiscountLastMoney = $("#DiscountLastMoneyShow").text() - 0; //优惠后金额 - var array = []; - array.push({ - "AllPrice": AllPrice, - "TaxLastMoney": DiscountMoney + DiscountLastMoney - }); - data.footer = array; - $("#materialDataShow").datagrid('loadData', data); - } - }, - error:function() { - $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); - } - }); - } - //分页信息处理 - function ininPager(){ - 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 - }); - showDepotHeadDetails(pageNum,pageSize); - } - }); - } - catch (e) { - $.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error'); - } - } - //删除单据信息 - function deleteDepotHead(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; - } - }); - } - } - }); - } - //订单转采购或销售 - function skipDepotHead(index){ - var res = $("#tableData").datagrid("getRows")[index]; - if(res.status == "0" || res.status == "2") { - $.messager.alert('提示','未审核和已转的单据禁止操作!','warning'); - } else { - sessionStorage.setItem("rowInfo", JSON.stringify(res)); //将单据信息存入缓存中 - if(listTitle == "采购订单列表") { - js.addTabPage(null, "订单转采购", "/pages/materials/purchase_in_list.html?t=skip"); - } else if(listTitle == "销售订单列表") { - js.addTabPage(null, "订单转销售", "/pages/materials/sale_out_list.html?t=skip"); - } - } - } - //批量删除单据信息 - function batDeleteDepotHead(){ - 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'); - } - } - }); - } - } - //批量审核|反审核 - function setStatusFun(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'); - } - } - }); - } - } - //生成单据编号 - function buildNumber() { - $.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'); - } - }); - } - //新增信息 - function addDepotHead(){ - if(checkPower()){ - return; - } - $('#depotHeadFM').form('clear'); - var thisDateTime = getNowFormatDateTime(); //当前时间 - $("#OperTime").val(thisDateTime); - buildNumber(); //生成单据编号 - //初始化优惠率、优惠金额、优惠后金额、本次付|收款、本次欠款 为0 - $("#Discount").val(0); - $("#DiscountMoney").val(0); - $("#DiscountLastMoney").val(0); - $("#ChangeAmount").val(0); - $("#Debt").val(0); - $("#AccountId").val(defaultAccountId); //初始化默认的账户Id - var addTitle = listTitle.replace("列表","信息"); - $('#depotHeadDlg').show().dialog('open').dialog('setTitle',' 增加' + addTitle); - $(".window-mask").css({ width: webW ,height: webH}); - depotHeadID = 0; - var res = sessionStorage.getItem("rowInfo"); - if(pageType == "skip" && res) { //从订单跳转过来 - res = JSON.parse(res); - $('#OrganId').combobox('setValue', res.organId); - $("#LinkNumber").val(res.number); //关联订单号 - $("#DiscountLastMoney").val(res.totalPrice); //优惠后金额 - $("#ChangeAmount").val(res.totalPrice).attr("data-changeamount", res.totalPrice); - depotHeadID = res.id; - initTableData_material("edit",res.totalPrice); //商品列表 - } else { - initTableData_material("add"); //商品列表 - } - reject(); //撤销下、刷新商品列表 - function supplierDlgFun(type) { - $('#supplierDlg').dialog('open').dialog('setTitle',' 增加' + type + '信息'); - $('#supplierFM').form('clear'); - bindSupplierEvent(); - } - $("#addOrgan").off("click").on("click",function(){ - supplierDlgFun("供应商"); - }); - $("#addMember").off("click").on("click",function(){ - supplierDlgFun("会员"); - }); - $("#addCustomer").off("click").on("click",function(){ - supplierDlgFun("客户"); - }); - $("#addAccount").off("click").on("click",function(){ - $('#accountDlg').dialog('open').dialog('setTitle',' 增加结算账户'); - $('#accountFM').form('clear'); - bindAccountEvent(); - }); - url = '/depotHead/addDepotHeadAndDetail'; - - //零售单据修改收款时,自动计算找零 - if(listSubType == "零售" || listSubType == "零售退货") { - $("#payType").val("现付"); - $("#OrganId").combobox("setValue", orgDefaultId); //自动默认选择非会员 - // 鼠标点下时清空选择项 - $("#OrganId").next().find("input").off("mousedown").on("mousedown",function(){ - $("#OrganId").combobox("setValue", ""); - }); - //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 - $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ - var self = this; - if($(this).val().length === 10){ - setTimeout(function(){ - $(".combo-panel .combobox-item-selected").click(); - //更新付款类型,加载会员的预付款的金额 - for(var i=0; i0){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - } - },1000); - } - }); - var getAmount = $("#depotHeadFM .get-amount"); - var changeAmount = $("#depotHeadFM .change-amount"); - var backAmount = $("#depotHeadFM .back-amount"); - getAmount.val(0); changeAmount.val(0); backAmount.val(0); //时间初始化 - getAmount.off("keyup").on("keyup",function() { - if(changeAmount.val()){ - backAmount.val((getAmount.val()-changeAmount.val()).toFixed(2)); - } - }); - } - } - //编辑信息 - function editDepotHead(index){ - var res = $("#tableData").datagrid("getRows")[index]; - if (res.status == "1" || res.status == "2") { - $.messager.alert('编辑提示', '已审核和已转的单据不能编辑!', 'warning'); - return; - } - var TotalPrice = res.totalPrice; //合计金额 - $("#Number").val(res.number).attr("data-defaultNumber",res.number); - $("#OperTime").val(res.operTimeStr); - $("#LinkNumber").val(res.linkNumber); //关联订单号 - $("#AccountId").val(res.accountId); //账户Id - $("#DiscountLastMoney").val(res.discountLastMoney); //优惠后金额 - $("#ChangeAmount").val(res.changeAmount).attr("data-changeamount", res.changeAmount); - $('#OrganId').combobox('setValue', res.organId); - $("#Remark").val(res.remark); - $("#Discount").val(res.discount?res.discount:0); - $("#DiscountMoney").val(res.discountMoney?res.discountMoney:0); - var discountlastmoney = res.discountLastMoney?res.discountLastMoney:0; - $("#Debt").val(discountlastmoney-res.changeAmount); - $("#AccountDay").val(res.accountDay); //结算天数 - preTotalPrice = res.totalPrice; //记录前一次合计金额,用于扣预付款 - oldNumber = res.number; //记录编辑前的单据编号 - oldId = res.id; //记录单据Id - var editTitle = listTitle.replace("列表","信息"); - $('#depotHeadDlg').show().dialog('open').dialog('setTitle',' 编辑' + editTitle); - $(".window-mask").css({ width: webW ,height: webH}); - depotHeadID = res.id; - - if(listSubType == "零售"){ - var option = ""; - if(res.payType === "预付款"){ - option = ''; - option += ''; - } - else { - option += ''; - } - $("#payType").empty().append(option); - } - - if(listSubType === "销售" || listSubType === "销售退货" || listSubType === "销售订单"){ - if(res.salesMan){ - var arr = res.salesMan.split(","); - var salesmanArray = []; - for(var i=0;i","")); - } - } - $("#Salesman").combobox('setValues', salesmanArray); - } - } - - //采购入库、销售出库的多账户加载 - if(res.accountIdList && res.accountMoneyList){ - $("#AccountId").val("many"); //下拉框选中多账户 - var accountArr = res.accountIdList.split(","); - var accountMoneyArr = res.accountMoneyList.split(","); - accountMoneyArr = changeListFmtPlus(accountMoneyArr) //将数组单个金额中的数值转为正数 - - if(listSubType == "零售" || listSubType == "零售退货") { - var manyAccountMoney = 0; //多账户合计-零售 - for (var j = 0; j < accountArr.length; j++) { - if (accountList != null) { - for (var i = 0; i < accountList.length; i++) { - var account = accountList[i]; - if (accountArr[j] == account.id) { - manyAccountMoney += accountMoneyArr[j] - 0; //多账户合计-零售 - } - } - } - } - $("#getAmount").val(manyAccountMoney); //收款金额、付款金额 - var changeAmount = $("#ChangeAmount").val()-0; - $("#backAmount").val((manyAccountMoney-changeAmount).toFixed(2)); //找零 - } - - $("#AccountId").attr("data-accountArr", JSON.stringify(accountArr)).attr("data-accountMoneyArr", JSON.stringify(accountMoneyArr)); //json数据存储 - $(".many-account-ico").show(); //显示多账户的ico图标 - } else { - $(".many-account-ico").hide(); //隐藏多账户的ico图标 - } - - //采购入库、销售出库的费用数据加载 - if(res.otherMoneyList && res.otherMoneyItem){ - $("#OtherMoney").val(res.otherMoney); //其它费用 - var itemArr = res.otherMoneyList.split(","); - var itemMoneyArr = res.otherMoneyItem.split(","); - $("#OtherMoney").attr("data-itemArr",JSON.stringify(itemArr)).attr("data-itemMoneyArr",itemMoneyArr); //json数据存储 - } - - initTableData_material("edit",TotalPrice); //商品列表 - reject(); //撤销下、刷新商品列表 - url = '/depotHead/updateDepotHeadAndDetail?id=' + res.id; //更新接口 - } - //查看信息 - function showDepotHead(index){ - var res = $("#tableData").datagrid("getRows")[index]; - var manyAccountMoney = 0; //多账户合计-零售 - $("#NumberShow").text(res.number); - $("#OperTimeShow").text(res.operTimeStr); - $('#OrganIdShow').text(res.organName); - if(res.accountName){ - $("#AccountIdShow").text(res.accountName); //结算账户 - } else { - if (res.accountIdList) { - var accountArr = res.accountIdList.split(","); //账户id列表 - var accountMoneyArr = res.accountMoneyList.split(","); //账户金额列表 - var accountIdShow = ""; - for (var j = 0; j < accountArr.length; j++) { - if (accountList != null) { - for (var i = 0; i < accountList.length; i++) { - var account = accountList[i]; - if (accountArr[j] == account.id) { - var currentAccountMoney = accountMoneyArr[j] - 0; - if (currentAccountMoney < 0) { - currentAccountMoney = 0 - currentAccountMoney; - } - accountIdShow = accountIdShow + account.name + "(" + currentAccountMoney + "元) "; - manyAccountMoney += accountMoneyArr[j] - 0; //多账户合计-零售 - } - } - } - } - $("#AccountIdShow").text(accountIdShow); - } - } - $("#ChangeAmountShow").text(res.changeAmount); - $("#RemarkShow").text(res.remark); - $("#DiscountShow").text(res.discount); - $("#DiscountMoneyShow").text(res.discountMoney); - $("#DiscountLastMoneyShow").text(res.discountLastMoney); - var debt = 0; - if(res.otherMoney){ - debt = (res.discountLastMoney+res.otherMoney-res.changeAmount).toFixed(2); - } else { - debt = (res.discountLastMoney-res.changeAmount).toFixed(2); - } - $("#DebtShow").text(debt); - $("#AccountDayShow").text(res.accountDay); //结算天数 - $("#LinkNumberShow").text(res.linkNumber); //关联订单号 - var otherMoney = res.otherMoney?res.otherMoney:0; - if(otherMoney!=0 && res.otherMoneyList && res.otherMoneyItem){ - var itemArr = res.otherMoneyList.split(","); //支出项目id列表 - var itemMoneyArr = null; - if(res.otherMoneyItem!=null) { - itemMoneyArr = eval ("(" + res.otherMoneyItem + ")"); //支出项目金额列表 - } - var otherMoneyShow = ""; - for(var j =0;j 查看' + showTitle); - $(".window-mask").css({ width: webW ,height: webH}); - - depotHeadID = res.id; - initTableData_material_show(TotalPrice); //商品列表-查看状态 - - //零售单据展示数据 - if(listSubType == "零售" || listSubType == "零售退货"){ - var changeAccount = $("#depotHeadDlgShow .change-amount-show").text() -0; - if(manyAccountMoney!==0){ - $("#depotHeadDlgShow .get-amount-show").text((manyAccountMoney).toFixed(2)); - $("#depotHeadDlgShow .back-amount-show").text((manyAccountMoney -changeAccount).toFixed(2)); - } - else { - $("#depotHeadDlgShow .get-amount-show").text((changeAccount).toFixed(2)); - $("#depotHeadDlgShow .back-amount-show").text(0); - } - } - if(listSubType === "销售" || listSubType === "销售退货" || listSubType === "销售订单"){ - if(res.salesman){ - var arr = res.salesMan.split(","); - var salesmanStr = ""; - for(var i=0;i",""); - } - else { - salesmanStr += arr[i].replace("<","").replace(">","") + ","; - } - } - } - $.ajax({ - type: "get", - url: "/person/getPersonByIds", - data: { - personIDs: salesmanStr - }, - success:function(res){ - if(res && res.code === 200){ - if(res.data) { - $("#SalesmanShow").text(res.data.names); //销售人员列表 + //查询库存信息 + var depotId = body.find("[field='DepotId']").find(".textbox-value").val(); + if(depotId) { + var type = "select"; //type 类型:点击 click,选择 select + self.findStockNumById(depotId, meId, monthTime, body, input, loadRatio, type); } } }, - error:function(){ - + error: function() { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); } }); } - } - } - //绑定操作事件 - function bindEvent(){ - showDepotHeadDetails(1,initPageSize); //初始化时自动查询 - //搜索处理 - $("#searchBtn").off("click").on("click",function(){ - showDepotHeadDetails(1,initPageSize); - var opts = $("#tableData").datagrid('options'); - var pager = $("#tableData").datagrid('getPager'); - opts.pageNumber = 1; - opts.pageSize = initPageSize; - pager.pagination('refresh', - { - pageNumber:1, - pageSize:initPageSize - }); - }); - - //重置按钮 - $("#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; - } - }); + }, + //新增单据主表及单据子表 + addDepotHeadAndDetail: function (url,infoStr) { + var self = this; + if(pageType=="skip") { + sessionStorage.removeItem("rowInfo"); } - return flag; - } - //保存信息 - $("#saveDepotHead").off("click").on("click",function(){ - if(!$('#depotHeadFM').form('validate')){ - return; - } - else { - //如果初始编号被修改了,就要判断单据编号是否存在 - if($.trim($("#Number").val()) != $('#Number').attr("data-defaultNumber")){ - //调用查询单据编号是否重名的方法 - if(checkDepotHeadNumber()){ - return; - } - } - //输入框提示 - if(listTitle === "采购订单列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择供应商!','warning'); - return; - } - } - else if(listTitle === "采购入库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择供应商!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择结算账户!','warning'); - return; - } - } - else if(listTitle === "零售退货列表"){ - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择付款账户!','warning'); - return; - } - if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { - $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); - return; - } - } - else if(listTitle === "销售退货列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择退货单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择付款账户!','warning'); - return; - } - } - else if(listTitle === "其它入库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择往来单位!','warning'); - return; - } - } - else if(listTitle === "零售出库列表"){ - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - if($("#backAmount").val()-0 <0){ - $.messager.alert('提示','找零金额不能小于0!','warning'); - return; - } - if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) { - $.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning'); - return; - } - - } - else if(listTitle === "销售订单列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择购买单位!','warning'); - return; - } - } - else if(listTitle === "销售出库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择购买单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - } - else if(listTitle === "采购退货列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择收货单位!','warning'); - return; - } - if(!$('#AccountId').val()){ - $.messager.alert('提示','请选择收款账户!','warning'); - return; - } - } - else if(listTitle === "其它出库列表"){ - if(!$('#OrganId').combobox('getValue')){ - $.messager.alert('提示','请选择往来单位!','warning'); - return; - } - } - else if(listTitle === "调拨出库列表"){ - - } - //进行明细的校验 - if(depotHeadID ==0) { - //新增模式下 - if (!CheckData("add")) { - return; - } - } - else { - //编辑模式下 - if (!CheckData("edit")) { - return; - } - } - var OrganId = null; - var ChangeAmount = $.trim($("#ChangeAmount").val())-0; - var TotalPrice = $("#depotHeadFM .datagrid-footer [field='AllPrice'] div").text(); - if($('#OrganId').length){ - OrganId = $('#OrganId').combobox('getValue'); - } - var accountMoneyList = $("#AccountId").attr("data-accountmoneyarr"); //账户金额列表-多账户 - var accountMoneyArr; - if(accountMoneyList) { - accountMoneyList = accountMoneyList.replace("[","").replace("]","").toString(); - var reg=new RegExp("\"","g"); //创建正则RegExp对象 - accountMoneyList = accountMoneyList.replace(reg,""); //替换所有的双引号 - accountMoneyArr = accountMoneyList.split(","); //转为数组 - } - if(listSubType === "采购订单"||listSubType === "采购"||listSubType === "零售退货"||listSubType === "销售退货"){ - //付款为负数 - ChangeAmount = 0 - ChangeAmount; - TotalPrice = 0 - TotalPrice; - if(accountMoneyArr) { - accountMoneyArr = changeListFmtMinus(accountMoneyArr); //将数组单个金额中的数值转为负数 - } - } - //零售时候,可以从会员预付款中扣款 - var thisPayType = "现付"; - if(listSubType === "零售") { - if($("#payType").val() ==="预付款") { - thisPayType = "预付款"; - } - } - var SalesmanStr = ""; - if(listSubType === "销售" || listSubType === "销售退货" || listSubType === "销售订单"){ - var Salesman = $('#Salesman').combobox('getValues').toString(); //销售人员 - if(Salesman) { - var SalesmanArray = Salesman.split(","); - for (var i = 0; i < SalesmanArray.length; i++) { - if (i === SalesmanArray.length - 1) { - SalesmanStr += "<" + SalesmanArray[i] + ">"; - } - else { - SalesmanStr += "<" + SalesmanArray[i] + ">,"; - } - } - } - } - var getAccountID = $.trim($("#AccountId").val()); - if($("#AccountId").val() === "many"){ //多账户 - getAccountID = null; - } - var infoStr=JSON.stringify({ - Type: listType, - SubType: listSubType, - DefaultNumber: $.trim($("#Number").attr("data-defaultNumber")),//初始编号 - Number: $.trim($("#Number").val()), - LinkNumber: $.trim($("#LinkNumber").val()), - OperTime: $("#OperTime").val(), - OrganId: OrganId, - Salesman: SalesmanStr, //销售人员 - AccountId: getAccountID, - ChangeAmount: ChangeAmount, //付款/收款 - TotalPrice: TotalPrice, //合计 - PayType: thisPayType, //现付/预付款 - Remark: $.trim($("#Remark").val()), - AccountIdList: $("#AccountId").attr("data-accountarr"), //账户列表-多账户 - AccountMoneyList: accountMoneyArr ? JSON.stringify(accountMoneyArr) : "", //账户金额列表-多账户 - Discount: $.trim($("#Discount").val()), - DiscountMoney: $.trim($("#DiscountMoney").val()), - DiscountLastMoney: $.trim($("#DiscountLastMoney").val()), - OtherMoney: $.trim($("#OtherMoney").val()), //其它费用 - OtherMoneyList: $("#OtherMoney").attr("data-itemarr"), //支出项目列表-涉及费用 - OtherMoneyItem: $("#OtherMoney").attr("data-itemmoneyarr"), //支出项目金额列表-涉及费用 - AccountDay: $("#AccountDay").val() //结算天数 - }); - /** - * 零售出库,单独操作 - * */ - if(url.indexOf("/depotHead/addDepotHeadAndDetail")>=0){ - addDepotHeadAndDetail(url,infoStr); - } else if(url.indexOf("/depotHead/updateDepotHeadAndDetail")>=0){ - updateDepotHeadAndDetail(url,infoStr,preTotalPrice); - } - } - }); - - //打印单据 - $("#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=="searchState"||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',' 多账户结算'); - $("#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 += ''; - } - $(".account-id-dlg").empty().append("").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',' 其它费用'); - $("#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 += ''; - } - $(".money-id-dlg").empty().append("").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 0){ - mTypeValue = "普通子件"; - } - if(listSubType == "组装单" || listSubType == "拆卸单"){ - mType.find(input).val(mTypeValue).prop("readonly","readonly"); - } - },500); + } } //结束编辑明细 function endEditing() { - if (editIndex == undefined) { return true } - if ($('#materialData').datagrid('validateRow', editIndex)) { + if (editIndex == undefined) { return true } + if ($('#materialData').datagrid('validateRow', editIndex)) { //仓库信息 var edDepot = $('#materialData').datagrid('getEditor', {index:editIndex,field:'DepotId'}); if(edDepot) { @@ -2400,208 +1455,32 @@ $('#materialData').datagrid('getRows')[editIndex]['DepotName'] = DepotName; } //商品信息 - var edMaterial = $('#materialData').datagrid('getEditor', {index:editIndex,field:'MaterialExtendId'}); + var edMaterial = $('#materialData').datagrid('getEditor', {index:editIndex,field:'MaterialExtendId'}); if(edMaterial) { var MaterialName = $(edMaterial.target).next().find('input.textbox-text').val(); $('#materialData').datagrid('getRows')[editIndex]['MaterialName'] = MaterialName; } - //其它信息 - $('#materialData').datagrid('endEdit', editIndex); - editIndex = undefined; - return true; - } else { - return false; - } + //其它信息 + $('#materialData').datagrid('endEdit', editIndex); + editIndex = undefined; + return true; + } else { + return false; + } } //单击明细 function onClickRow(index) { - if (editIndex != index) { - if (endEditing()) { - $('#materialData').datagrid('selectRow', index).datagrid('beginEdit', index); - editIndex = index; - autoReckon(); + if (editIndex != index) { + if (endEditing()) { + $('#materialData').datagrid('selectRow', index).datagrid('beginEdit', index); + editIndex = index; + inOutService.autoReckon(); setTimeout(function() { var edMaterial = $('#materialData').datagrid('getEditor', {index:editIndex,field:'MaterialExtendId'}); $(edMaterial.target).next().find('input.textbox-text').mouseup(); },550); - } else { - $('#materialData').datagrid('selectRow', editIndex); - } - } - } - //新增明细 - function append(){ - if (endEditing()) { - $('#materialData').datagrid('appendRow', {DepotId:defDepotId}); - editIndex = $('#materialData').datagrid('getRows').length - 1; - $('#materialData').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex); - autoReckon(); - } - } - //批量删除明细 - function batchDel(){ - /** - * 1、删除之前必须先调用endEditing结束编辑 - * 2、如果只是调用endEditing结束编辑那么正在编辑行的被选中状态会被去掉 - * 所以要在调用endEditing先获取选中的行 - */ - var row = $('#materialData').datagrid('getChecked'); - if (endEditing()) { - if (row.length == 0) { - $.messager.alert('删除提示', '没有记录被选中!', 'info'); - return; - } - if (row.length > 0) { - $.messager.confirm('删除确认', '确定要删除选中的' + row.length + '条单据信息吗?', function (r) { - if (r) { - var body =$("#depotHeadFM .datagrid-body"); - var footer =$("#depotHeadFM .datagrid-footer"); - for (var i = 0; i < row.length; i++) { - $('#materialData').datagrid('deleteRow', $('#materialData').datagrid("getRowIndex", row[i])); - statisticsFun(body,0,0,footer,0); - } - } - }); - } - } - } - //单行删除明细 - function removeit(){ - if (editIndex == undefined) { return } - $('#materialData').datagrid('cancelEdit', editIndex) - .datagrid('deleteRow', editIndex); - editIndex = undefined; - } - //撤销明细 - function reject() { - $('#materialData').datagrid('rejectChanges'); - editIndex = undefined; - } - //新增仓库 - function appendDepot() { - $('#depotDlg').dialog('open').dialog('setTitle', ' 增加仓库信息'); - $(".window-mask").css({width: webW, height: webH}); - $('#depotFM').form('clear'); - bindDepotEvent(); - } - //新增商品 - function appendMaterial() { - js.addTabPage(null, "商品信息", "/pages/materials/material.html"); - } - //判断明细 - function CheckData(type) { - append(); - removeit(); - 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].DepotId == "" || row[i].MaterialExtendId == "" || 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; - } - //新增单据主表及单据子表 - function addDepotHeadAndDetail(url,infoStr){ - if(pageType=="skip") { - sessionStorage.removeItem("rowInfo"); - } - var inserted = $("#materialData").datagrid('getRows'); - var deleted = []; - var updated = []; - $.ajax({ - type:"post", - url: url, - contentType:"application/json", - dataType: "json", - async : false, - data: JSON.stringify({ - info:infoStr, - inserted: JSON.stringify(inserted), - deleted: JSON.stringify(deleted), - updated: JSON.stringify(updated) - }), - 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'); - showDepotHeadDetails(opts.pageNumber,opts.pageSize); - }else { - $.messager.show({ - title: '错误提示', - msg: '保存信息失败,请稍后重试!' - }); - } - }, - //此处添加错误处理 - error:function() { - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; + } else { + $('#materialData').datagrid('selectRow', editIndex); } - }); + } } - //修改单据主表及单据子表 - function updateDepotHeadAndDetail(url,infoStr,preTotalPrice){ - var inserted = $("#materialData").datagrid('getChanges', "inserted"); - var deleted = $("#materialData").datagrid('getChanges', "deleted"); - var updated = $("#materialData").datagrid('getChanges', "updated"); - $.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, - inserted: JSON.stringify(inserted), - deleted: JSON.stringify(deleted), - updated: JSON.stringify(updated), - 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'); - showDepotHeadDetails(opts.pageNumber,opts.pageSize); - if (endEditing()) { - $('#materialData').datagrid('acceptChanges'); - } - }else { - $.messager.show({ - title: '错误提示', - msg: '保存信息失败,请稍后重试!' - }); - } - }, - //此处添加错误处理 - error:function() { - $.messager.alert('提示','保存信息异常,请稍后再试!','error'); - return; - } - }); - } \ No newline at end of file diff --git a/erp_web/pages/materials/allocation_out_list.html b/erp_web/pages/materials/allocation_out_list.html index eb7d40c0..6e11ae39 100644 --- a/erp_web/pages/materials/allocation_out_list.html +++ b/erp_web/pages/materials/allocation_out_list.html @@ -135,5 +135,966 @@ onclick="javascript:$('#depotHeadDlgShow').dialog('close')">取消
+ \ No newline at end of file diff --git a/erp_web/pages/materials/assemble_list.html b/erp_web/pages/materials/assemble_list.html index 39b645bf..e920c91f 100644 --- a/erp_web/pages/materials/assemble_list.html +++ b/erp_web/pages/materials/assemble_list.html @@ -134,5 +134,966 @@ onclick="javascript:$('#depotHeadDlgShow').dialog('close')">取消
+ \ No newline at end of file diff --git a/erp_web/pages/materials/disassemble_list.html b/erp_web/pages/materials/disassemble_list.html index bc9206a5..973f224a 100644 --- a/erp_web/pages/materials/disassemble_list.html +++ b/erp_web/pages/materials/disassemble_list.html @@ -134,5 +134,966 @@ onclick="javascript:$('#depotHeadDlgShow').dialog('close')">取消
+ \ No newline at end of file diff --git a/erp_web/pages/materials/other_in_list.html b/erp_web/pages/materials/other_in_list.html index 461ee663..9af3626b 100644 --- a/erp_web/pages/materials/other_in_list.html +++ b/erp_web/pages/materials/other_in_list.html @@ -146,5 +146,966 @@
+ diff --git a/erp_web/pages/materials/other_out_list.html b/erp_web/pages/materials/other_out_list.html index d72ac82d..dc3efaba 100644 --- a/erp_web/pages/materials/other_out_list.html +++ b/erp_web/pages/materials/other_out_list.html @@ -139,5 +139,966 @@ onclick="javascript:$('#depotHeadDlgShow').dialog('close')">取消
+ \ No newline at end of file diff --git a/erp_web/pages/materials/purchase_back_list.html b/erp_web/pages/materials/purchase_back_list.html index 3729b75f..f2fca548 100644 --- a/erp_web/pages/materials/purchase_back_list.html +++ b/erp_web/pages/materials/purchase_back_list.html @@ -271,5 +271,966 @@ 取消
+ diff --git a/erp_web/pages/materials/purchase_in_list.html b/erp_web/pages/materials/purchase_in_list.html index 06954c55..231897f6 100644 --- a/erp_web/pages/materials/purchase_in_list.html +++ b/erp_web/pages/materials/purchase_in_list.html @@ -289,5 +289,966 @@
+ diff --git a/erp_web/pages/materials/purchase_orders_list.html b/erp_web/pages/materials/purchase_orders_list.html index f12025a8..94c9f6ba 100644 --- a/erp_web/pages/materials/purchase_orders_list.html +++ b/erp_web/pages/materials/purchase_orders_list.html @@ -199,5 +199,1005 @@
+ diff --git a/erp_web/pages/materials/retail_back_list.html b/erp_web/pages/materials/retail_back_list.html index 4a436051..71b7b466 100644 --- a/erp_web/pages/materials/retail_back_list.html +++ b/erp_web/pages/materials/retail_back_list.html @@ -211,5 +211,1007 @@ onclick="javascript:$('#depotHeadDlgShow').dialog('close')">取消
+ \ No newline at end of file diff --git a/erp_web/pages/materials/retail_out_list.html b/erp_web/pages/materials/retail_out_list.html index aa44a58b..f6d43d26 100644 --- a/erp_web/pages/materials/retail_out_list.html +++ b/erp_web/pages/materials/retail_out_list.html @@ -249,5 +249,1007 @@
+ diff --git a/erp_web/pages/materials/sale_back_list.html b/erp_web/pages/materials/sale_back_list.html index 8111a13a..f8d09371 100644 --- a/erp_web/pages/materials/sale_back_list.html +++ b/erp_web/pages/materials/sale_back_list.html @@ -271,5 +271,966 @@ 取消
+ \ No newline at end of file diff --git a/erp_web/pages/materials/sale_orders_list.html b/erp_web/pages/materials/sale_orders_list.html index 0379f9b7..19bf9527 100644 --- a/erp_web/pages/materials/sale_orders_list.html +++ b/erp_web/pages/materials/sale_orders_list.html @@ -201,5 +201,1003 @@
+ diff --git a/erp_web/pages/materials/sale_out_list.html b/erp_web/pages/materials/sale_out_list.html index 33cc03d1..6e95b7fc 100644 --- a/erp_web/pages/materials/sale_out_list.html +++ b/erp_web/pages/materials/sale_out_list.html @@ -291,5 +291,966 @@
+