//初始化界面 $(function(){ var accountList = null; var accountID = null; var supplierList = null; var supplierID = null; var personList = null; var personID = null; var ProjectSearch = null; var accountHeadMaxId = null; //获取最大的Id var accepId = null; //保存的主表id var url; var accountHeadID = 0; var preTotalPrice = 0; //前一次加载的金额 var orgAccountHead = ""; //保存编辑前的名称 var editIndex = undefined; var listTitle = ""; //单据标题 var payTypeTitle = "";//收入 支出 var organUrl = ""; //组织数据接口地址 var amountNum = ""; //单据编号开头字符 var itemType = true; //隐藏当前列 var moneyType = true; //隐藏当前列 var inOrOut = ""; //链接类型为收入或者支出 getType(); initSystemData_person(); //经手人数据 initSelectInfo_person(); //经手人信息 initSystemData_account(); //账户数据 initSelectInfo_account(); //账户信息 initSupplier(); //供应商 initTableData(); ininPager(); initForm(); bindEvent();//绑定操作事件 $("#searchBtn").click(); }); //根据单据名称获取类型 function getType(){ listTitle = $("#tablePanel").prev().text(); var supUrl = "/supplier/findBySelect_sup"; //供应商接口 var cusUrl = "/supplier/findBySelect_cus"; //客户接口 var retailUrl = "/supplier/findBySelect_retail"; //散户接口 if(listTitle === "收入单列表"){ listType = "收入"; itemType = false; //显示当前列 moneyType = true; //隐藏当前列 payTypeTitle = "收入项目"; inOrOut = "in"; organUrl = cusUrl; amountNum = "SR"; } else if(listTitle === "支出单列表"){ listType = "支出"; itemType = false; //显示当前列 moneyType = true; //隐藏当前列 payTypeTitle = "支出项目"; inOrOut = "out"; organUrl = supUrl; amountNum = "ZC"; } else if(listTitle === "收款单列表"){ listType = "收款"; itemType = true; //隐藏当前列 moneyType = false; //显示当前列 payTypeTitle = "无标题"; inOrOut = ""; organUrl = cusUrl; amountNum = "SK"; } else if(listTitle === "付款单列表"){ listType = "付款"; itemType = true; //隐藏当前列 moneyType = false; //显示当前列 payTypeTitle = "无标题"; inOrOut = ""; organUrl = supUrl; amountNum = "FK"; } else if(listTitle === "转账单列表"){ listType = "转账"; itemType = true; //隐藏当前列 moneyType = false; //显示当前列 payTypeTitle = "无标题"; inOrOut = ""; organUrl = supUrl; amountNum = "ZZ"; } else if(listTitle === "收预付款列表"){ listType = "收预付款"; itemType = true; //隐藏当前列 moneyType = false; //显示当前列 payTypeTitle = "无标题"; inOrOut = ""; organUrl = retailUrl; amountNum = "SYF"; } } //获取账户信息 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; } } } }); } //获取账户信息 function initSelectInfo_account(){ var options = ""; if(accountList !=null) { options = ""; for(var i = 0 ;i < accountList.length; i++) { var account = accountList[i]; options += ''; } $("#AccountId").empty().append(options); } } //初始化单位信息 function initSupplier(){ $('#OrganId').combobox({ url: organUrl, valueField:'id', textField:'supplier', formatter: function(row){ var opts = $(this).combobox('options'); if(row[opts.textField]!=="非会员") { return row[opts.textField]; } } }); } //获取财务员 function initSystemData_person(){ var type = "财务员"; $.ajax({ type:"get", url: "/person/getPersonByType", data: { type: type }, //设置为同步 async:false, dataType: "json", success: function (res) { if(res && res.code === 200) { personList = res.data.personList; } } }); } //获取财务员 function initSelectInfo_person(){ var options = ""; if(personList !=null) { for(var i = 0 ;i < personList.length;i++) { var person = personList[i]; if(0 == i) { personID = person.id; } if(person.type=="财务员") { options += ''; } } $("#HandsPersonId").empty().append(options); } } //防止表单提交重复 function initForm(){ $('#accountHeadFM').form({ onSubmit: function(){ return false; } }); } //初始化表格数据 function initTableData(){ var organNameTitle = ""; var organNameHidden = false; if(listType === "收入" || listType === "支出") { organNameTitle = "往来单位"; } else if(listType === "收款") { organNameTitle = "付款单位"; } else if(listType === "付款") { organNameTitle = "收款单位"; } else if(listType === "收预付款") { organNameTitle = "付款会员"; } if(listType === "转账") { organNameHidden = true; } $('#tableData').datagrid({ //width:700, height:heightInfo, rownumbers: false, //动画效果 animate:false, //选中单行 singleSelect : true, collapsible:false, selectOnCheck:false, //fitColumns:true, //单击行是否选中 //checkOnSelect : false, pagination: true, //交替出现背景 striped : true, //loadFilter: pagerFilter, pageSize: 5, pageList: initPageNum, columns:[[ { field: 'id',width:35,align:"center",checkbox:true}, { title: '操作',field: 'op',align:"center",width:90,formatter:function(value,rec) { var str = ''; var rowInfo = rec.id + 'AaBb' + rec.billno+ 'AaBb' + rec.billtime+ 'AaBb' + rec.remark + 'AaBb' + rec.accountid+ 'AaBb' + rec.accountname + 'AaBb' + rec.organid + 'AaBb' + rec.organname + 'AaBb' + rec.handspersonid + 'AaBb' + rec.handspersonname + 'AaBb' + rec.changeamount + 'AaBb' + rec.totalprice; var orgId = rec.organid ? rec.organid : 0; str += '   '; str += '   '; str += ''; return str; } }, { field: 'organid',width:5, hidden:true}, { title: organNameTitle,field: 'organname',width:140,hidden:organNameHidden}, { title: '单据编号',field: 'billno',width:140}, { title: '经手人',field: 'handspersonname',width:80}, { title: '单据时间 ',field: 'billtime',width:140}, { title: '合计',field: 'totalprice',width:80}, { title: '备注',field: 'remark',width:100} ]], toolbar:[ { id:'addAccountHead', text:'增加', iconCls:'icon-add', handler:function() { addAccountHead(); } }, { id:'deleteAccountHead', text:'删除', iconCls:'icon-remove', handler:function() { batDeleteAccountHead(); } } ], onLoadError:function() { $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); return; } }); dgResize(); } //初始化表格数据-明细列表-编辑状态 function initTableData_account(type,TotalPrice){ $('#accountData').datagrid({ height:280, 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: payTypeTitle,field: 'InOutItemId',width:230,hidden:itemType, formatter:function(value,row,index){ return row.InOutItemName; }, editor:{ type:'combobox', options:{ valueField:'Id', textField:'InOutItemName', method:'get', url: "/inOutItem/findBySelect?type=" + inOrOut } } }, { title: '账户名称',field: 'AccountId',width:230,hidden:moneyType, formatter:function(value,row,index){ return row.AccountName; }, editor:{ type:'combobox', options:{ valueField:'Id', textField:'AccountName', method:'get', url: "/account/findBySelect" } } }, { title: '金额',field: 'EachAmount',editor:'validatebox',width:70}, { title: '备注',field: 'Remark',editor:'validatebox',width:150} ]], toolbar:[ { id:'append', text:'新增', iconCls:'icon-add', handler:function() { append(); //新增 } }, { id:'delete', text:'删除', iconCls:'icon-remove', handler:function() { removeit(); //删除 } }, { id:'reject', text:'撤销', iconCls:'icon-undo', handler:function() { reject(); //撤销 } } ], onLoadError:function() { $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); return; } }); $.ajax({ type:"get", url: '/accountItem/getDetailList', data: { headerId: accountHeadID }, dataType: "json", success: function (res) { if(res && res.code === 200) { var data = res.data; var EachAmount = 0; if(type === "edit") { EachAmount = TotalPrice; } var array = []; array.push({ "EachAmount": EachAmount }); data.footer = array; $("#accountData").datagrid('loadData',data); } }, error:function() { $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); } }); } //初始化表格数据-明细列表-查看状态 function initTableData_account_show(TotalPrice){ $('#accountDataShow').datagrid({ height:280, rownumbers: true, //动画效果 animate:false, //选中单行 singleSelect : true, collapsible:false, selectOnCheck:false, //单击行是否选中 checkOnSelect : false, pagination: false, //交替出现背景 striped : true, showFooter: true, //loadFilter: pagerFilter, onClickRow: onClickRow, columns:[[ { title: payTypeTitle, field: 'InOutItemName', width:230, hidden:itemType}, { title: '账户名称', field: 'AccountName', width:230, hidden:moneyType}, { title: '金额',field: 'EachAmount',width:70}, { title: '备注',field: 'Remark',width:150} ]], onLoadError:function() { $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); return; } }); $.ajax({ type:"get", url: '/accountItem/getDetailList', data: { headerId: accountHeadID }, dataType: "json", success: function (res) { if(res && res.code === 200) { var data = res.data; var EachAmount = TotalPrice; var array = []; array.push({ "EachAmount": EachAmount }); data.footer = array; $("#accountDataShow").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 }); showAccountHeadDetails(pageNum,pageSize); } }); } catch (e) { $.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error'); } } //删除财务信息 function deleteAccountHead(accountHeadID, thisOrganId, totalPrice){ $.messager.confirm('删除确认','确定要删除此财务信息吗?',function(r) { if (r) { $.ajax({ type:"post", url: "/accountHead/batchDeleteAccountHeadByIds", dataType: "json", data:{ ids: accountHeadID }, success: function (res) { if(res && res.code == 200) { $("#searchBtn").click(); } else { if(res && res.code == 601){ var jsondata={}; jsondata.ids=accountHeadID; jsondata.deleteType='2'; var type='single'; batDeleteAccountHeadForceConfirm(res,"/accountHead/batchDeleteAccountHeadByIds",jsondata,type); }else if(res && res.code == 600){ $.messager.alert('删除提示', res.msg, 'error'); return; }else{ $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); return; } } }, //此处添加错误处理 error:function() { $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error'); return; } }); //更新会员的预收款信息 if(listType === "收预付款"){ $.ajax({ type:"post", url: "/supplier/updateAdvanceIn", dataType: "json", data:{ supplierId: thisOrganId, //会员id advanceIn: 0-totalPrice //删除时同时删除用户的预付款信息 }, success: function(res){ if(res && res.code === 200) { //保存会员预收款成功 } }, error: function(){ $.messager.alert('提示','保存信息异常,请稍后再试!','error'); return; } }); } } }); } //批量删除财务信息 function batDeleteAccountHead(){ 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) { ids += row[i].id; break; } ids += row[i].id + ","; } //批量删除 $.ajax({ type:"post", url: "/accountHead/batchDeleteAccountHeadByIds", dataType: "json", async : false, data: ({ ids : ids }), success: function (res) { if(res && res.code === 200) { $("#searchBtn").click(); $(":checkbox").attr("checked", false); } else { if(res && res.code == 601){ var jsondata={}; jsondata.ids=ids; jsondata.deleteType='2'; var type='batch'; batDeleteAccountHeadForceConfirm(res,"/accountHead/batchDeleteAccountHeadByIds",jsondata,type); }else if(res && res.code == 600){ $.messager.alert('删除提示', res.msg, 'error'); return; }else{ $.messager.alert('删除提示', '删除信息失败,请稍后再试!', 'error'); return; } } }, //此处添加错误处理 error:function() { $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error'); return; } }); //批量更新会员的预收款信息 for(var i = 0;i < row.length; i ++) { if(listType === "收预付款"){ $.ajax({ type:"post", url: "/supplier/updateAdvanceIn", dataType: "json", data:{ supplierId: row[i].organid, //会员id advanceIn: 0 - row[i].totalprice //删除时同时删除用户的预付款信息 }, success: function(res){ if(res && res.code === 200) { //保存会员预收款成功 } }, error: function(){ $.messager.alert('提示','保存信息异常,请稍后再试!','error'); return; } }); } } } }); } } /** * 确认强制删除 * */ function batDeleteAccountHeadForceConfirm(res,url,jsondata) { $.messager.confirm('删除确认', res.msg, function (r) { if (r) { $.ajax({ type: "post", url: url, dataType: "json", data: (jsondata), success: function (res) { if(res && res.code == 200) { $("#searchBtn").click(); if(type=='batch'){ $(":checkbox").attr("checked", false); } }else if(res && res.code == 600){ $.messager.alert('删除提示', res.msg, 'error'); return; }else { $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error'); return; } }, //此处添加错误处理 error: function () { $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error'); return; } }); } }); } //增加 function addAccountHead(){ if(checkPower()){ return; } $('#accountHeadFM').form('clear'); var thisDateTime = getNowFormatDateTime(); //当前时间 $("#BillTime").val(thisDateTime); var thisNumber = getNowFormatDateNum(); //根据时间生成编号 $("#BillNo").val(amountNum + thisNumber).focus(); var addTitle = listTitle.replace("列表","信息"); $('#accountHeadDlg').dialog('open').dialog('setTitle',' 增加' + addTitle); $(".window-mask").css({ width: webW ,height: webH}); orgAccountHead = ""; accountHeadID = 0; initTableData_account("add"); //明细列表 reject(); //撤销下、刷新材料列表 url = '/accountHead/add'; //收预付款单据支持刷卡功能 if(listType == "收预付款") { //当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器 $("#OrganId").next().find("input").off("keyup").on("keyup",function(){ if($(this).val().length === 10){ setTimeout(function(){ $(".combo-panel .combobox-item-selected").click(); },500); } }); } } //编辑信息 function editAccountHead(accountHeadTotalInfo){ var accountHeadInfo = accountHeadTotalInfo.split("AaBb"); $("#BillNo").val(accountHeadInfo[1]); $("#BillTime").val(accountHeadInfo[2]); $("#Remark").val(accountHeadInfo[3]); $("#AccountId").val(accountHeadInfo[4]); $('#OrganId').combobox('setValue', accountHeadInfo[6]); $("#HandsPersonId").val(accountHeadInfo[8]); $("#ChangeAmount").val(accountHeadInfo[10]); var TotalPrice = accountHeadInfo[11]; preTotalPrice = accountHeadInfo[11]; //记录前一次合计金额,用于收预付款 var editTitle = listTitle.replace("列表","信息"); $('#accountHeadDlg').dialog('open').dialog('setTitle',' 编辑' + editTitle); $(".window-mask").css({ width: webW ,height: webH}); accountHeadID = accountHeadInfo[0]; initTableData_account("edit",TotalPrice); //明细列表 reject(); //撤销下、刷新列表 url = '/accountHead/update?id=' + accountHeadInfo[0]; } //查看信息 function showAccountHead(accountHeadTotalInfo){ var accountHeadInfo = accountHeadTotalInfo.split("AaBb"); $("#BillNoShow").text(accountHeadInfo[1]); $("#BillTimeShow").text(accountHeadInfo[2]); $("#RemarkShow").text(accountHeadInfo[3]); $("#AccountIdShow").text(accountHeadInfo[5]); $('#OrganIdShow').text(accountHeadInfo[7]); $("#HandsPersonIdShow").text(accountHeadInfo[9]); $("#ChangeAmountShow").text(accountHeadInfo[10].replace("undefined","0")); var TotalPrice = accountHeadInfo[11]; var showTitle = listTitle.replace("列表","信息"); $('#accountHeadDlgShow').dialog('open').dialog('setTitle',' 查看' + showTitle); $(".window-mask").css({ width: webW ,height: webH}); accountHeadID = accountHeadInfo[0]; initTableData_account_show(TotalPrice); //明细列表-查看状态 } //绑定操作事件 function bindEvent(){ //搜索处理 $("#searchBtn").unbind().bind({ click:function() { showAccountHeadDetails(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(){ $("#searchBillNo").val(""); $("#searchBeginTime").val(""); $("#searchEndTime").val(""); //加载完以后重新初始化 $("#searchBtn").click(); } }); //保存信息 $("#saveAccountHead").off("click").on("click", function () { if(!$('#accountHeadFM').form('validate')){ return; } else { if (listTitle === "收入单列表") { if (!$('#AccountId').val()) { $.messager.alert('提示', '请选择收款账户!', 'warning'); return; } if (!$('#OrganId').combobox('getValue')) { $.messager.alert('提示', '请选择往来单位!', 'warning'); return; } if (!$('#HandsPersonId').val()) { $.messager.alert('提示', '请选择经手人!', 'warning'); return; } } else if (listTitle === "支出单列表") { if (!$('#AccountId').val()) { $.messager.alert('提示', '请选择付款账户!', 'warning'); return; } if (!$('#OrganId').combobox('getValue')) { $.messager.alert('提示', '请选择往来单位!', 'warning'); return; } if (!$('#HandsPersonId').val()) { $.messager.alert('提示', '请选择经手人!', 'warning'); return; } } else if (listTitle === "收款单列表") { if (!$('#OrganId').combobox('getValue')) { $.messager.alert('提示', '请选择付款单位!', 'warning'); return; } if (!$('#HandsPersonId').val()) { $.messager.alert('提示', '请选择经手人!', 'warning'); return; } } else if (listTitle === "付款单列表") { if (!$('#OrganId').combobox('getValue')) { $.messager.alert('提示', '请选择收款单位!', 'warning'); return; } if (!$('#HandsPersonId').val()) { $.messager.alert('提示', '请选择经手人!', 'warning'); return; } } else if (listTitle === "转账单列表") { if (!$('#HandsPersonId').val()) { $.messager.alert('提示', '请选择经手人!', 'warning'); return; } if (!$('#AccountId').val()) { $.messager.alert('提示', '请选择付款账户!', 'warning'); return; } } else if (listTitle === "收预付款列表") { if (!$('#HandsPersonId').val()) { $.messager.alert('提示', '请选择经手人!', 'warning'); return; } if (!$('#OrganId').combobox('getValue')) { $.messager.alert('提示', '请选择付款会员!', 'warning'); return; } } var OrganId = null; var ChangeAmount = $.trim($("#ChangeAmount").val()); var TotalPrice = $("#accountHeadFM .datagrid-footer [field='EachAmount'] div").text(); if (listType !== "转账") { OrganId = $('#OrganId').combobox('getValue'); } if (listType === "支出" || listType === "转账") { //支出为负数 ChangeAmount = 0 - ChangeAmount; } if (listType === "支出" || listType === "付款" || listType === "转账") { //支出和付款为负数 TotalPrice = 0 - TotalPrice; } //更新会员的预收款信息 if (listType === "收预付款") { var advanceIn = 0; //预付款金额 if (accountHeadID) { advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额 } else { advanceIn = TotalPrice; //新增时,预付款=合计金额 } $.ajax({ type: "post", url: "/supplier/updateAdvanceIn", dataType: "json", data: { supplierId: OrganId, advanceIn: advanceIn }, success: function (res) { if (res && res.code === 200) { //保存会员预收款成功 } }, error: function () { $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); return; } }); } //保存单位信息 $.ajax({ type: "post", url: url, dataType: "json", async: false, data: ({ info : JSON.stringify({ Type: listType, BillNo: $.trim($("#BillNo").val()), BillTime: $.trim($("#BillTime").val()), AccountId: $.trim($("#AccountId").val()), ChangeAmount: ChangeAmount, //付款/收款/优惠/实付 TotalPrice: TotalPrice, //合计 OrganId: OrganId, HandsPersonId: $.trim($("#HandsPersonId").val()), Remark: $.trim($("#Remark").val()) }) }), success: function (tipInfo) { if (tipInfo) { //保存明细记录 if (accountHeadID == 0) { getMaxId(); //查找最大的Id accept(accountHeadMaxId, listType); //新增 } else { accept(accountHeadID, listType); //修改 } $('#accountHeadDlg').dialog('close'); var opts = $("#tableData").datagrid('options'); showAccountHeadDetails(opts.pageNumber, opts.pageSize); } else { $.messager.show({ title: '错误提示', msg: '保存信息失败,请稍后重试!' }); } }, //此处添加错误处理 error: function () { $.messager.alert('提示', '保存信息异常,请稍后再试!', 'error'); return; } }); } }); //打印单据 $("#printAccountHeadShow").off("click").on("click",function(){ var tableString = $("#accountHeadDlgShow").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=="BillNo"||obj.id=="BillTime")) { $("#saveAccountHead").click(); } //搜索按钮添加快捷键 if(k == "13"&&(obj.id=="searchBillNo")) { $("#searchBtn").click(); } }); } function showAccountHeadDetails(pageNo,pageSize){ var beginTime = $.trim($("#searchBeginTime").val()); var endTime = $.trim($("#searchEndTime").val()); if(beginTime) { beginTime = beginTime + ' 00:00:00'; } if(endTime) { endTime = endTime + ' 23:59:59'; } $.ajax({ type:"get", url: "/accountHead/list", dataType: "json", data: ({ search: JSON.stringify({ type: listType, billNo: $.trim($("#searchBillNo").val()), beginTime: beginTime, endTime: endTime }), currentPage: pageNo, pageSize: pageSize }), success: function (res) { if(res && res.code === 200){ if(res.data && res.data.page) { $("#tableData").datagrid('loadData', res.data.page); } } }, //此处添加错误处理 error:function() { $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); return; } }); } //自动计算事件 function autoReckon() { //延时绑定事件 setTimeout(function(){ var body =$("#accountHeadFM .datagrid-body"); var footer =$("#accountHeadFM .datagrid-footer"); var input = ".datagrid-editable-input"; //修改金额,自动计算单价和合计 body.find("[field='EachAmount']").find(input).off("keyup").on("keyup",function(){ var TotalPrice = 0; var EachAmount =$(this).val()-0; //金额 body.find("[field='EachAmount']").each(function(){ if($(this).find("div").text()!==""){ TotalPrice = TotalPrice + parseFloat($(this).find("div").text().toString()); } }); TotalPrice = TotalPrice + EachAmount; footer.find("[field='EachAmount']").find("div").text((TotalPrice).toFixed(2)); }); },500); } //结束编辑 function endEditing() { var edField = ""; if(!itemType){ edField = "InOutItemId"; edName = "InOutItemName"; } else { edField = "AccountId"; edName = "AccountName"; } if (editIndex == undefined) { return true } if ($('#accountData').datagrid('validateRow', editIndex)) { var ed = $('#accountData').datagrid('getEditor', {index: editIndex, field: edField}); var textName = $(ed.target).combobox('getText'); $('#accountData').datagrid('getRows')[editIndex][edName] = textName; $('#accountData').datagrid('endEdit', editIndex); editIndex = undefined; return true; } else { return false; } } //单击 function onClickRow(index) { if (editIndex != index) { if (endEditing()) { $('#accountData').datagrid('selectRow', index) .datagrid('beginEdit', index); editIndex = index; autoReckon(); } else { $('#accountData').datagrid('selectRow', editIndex); } } } //新增 function append() { if (endEditing()) { $('#accountData').datagrid('appendRow', {}); editIndex = $('#accountData').datagrid('getRows').length - 1; $('#accountData').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex); autoReckon(); } } //删除 function removeit() { if (editIndex == undefined) { return } $('#accountData').datagrid('cancelEdit', editIndex) .datagrid('deleteRow', editIndex); editIndex = undefined; } //撤销 function reject() { $('#accountData').datagrid('rejectChanges'); editIndex = undefined; } //判断 function CheckData() { var row = $('#accountData').datagrid('getRows'); var totalRowNum = ""; for (var i = 0; i < row.length; i++) { if(!itemType){ if (row[i].InOutItemId == "") { totalRowNum += (i + 1) + "、"; } } else{ if (row[i].AccountId == "") { totalRowNum += (i + 1) + "、"; } } } if (totalRowNum != "") { var totalRowNum = totalRowNum.substring(0, totalRowNum.length - 1); $.messager.alert('提示',"第" + totalRowNum + "行数据填写不完整!",'info'); return false; } return true; } //保存 function accept(accepId,listType) { append(); removeit(); if ($("#accountData").datagrid('getChanges').length) { if (!CheckData()) return false; var inserted = $("#accountData").datagrid('getChanges', "inserted"); var deleted = $("#accountData").datagrid('getChanges', "deleted"); var updated = $("#accountData").datagrid('getChanges', "updated"); $.ajax({ type: "post", url: "/accountItem/saveDetials", data: { inserted: JSON.stringify(inserted), deleted: JSON.stringify(deleted), updated: JSON.stringify(updated), headerId: accepId, listType: listType }, success: function (tipInfo) { if (tipInfo) { $.messager.alert('提示','保存成功!','info'); } else $.messager.alert('提示','保存失败!','error'); }, error: function (XmlHttpRequest, textStatus, errorThrown) { $.messager.alert('提示',XmlHttpRequest.responseText,'error'); } }); } if (endEditing()) { $('#accountData').datagrid('acceptChanges'); } } //获取MaxId function getMaxId(){ var accountHeadMax=null; $.ajax({ type:"get", url: "/accountHead/getMaxId", //设置为同步 async:false, dataType: "json", success: function (res) { if(res && res.code === 200) { if(res.data) { accountHeadMax = res.data.maxId; } } } }); if(accountHeadMax !=null) { accountHeadMaxId=accountHeadMax; } }