diff --git a/WebRoot/js/pages/financial/financial_base.js b/WebRoot/js/pages/financial/financial_base.js new file mode 100644 index 000000000..083468ecc --- /dev/null +++ b/WebRoot/js/pages/financial/financial_base.js @@ -0,0 +1,759 @@ + //初始化界面 + $(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 orgAccountHead = ""; //保存编辑前的名称 + var editIndex = undefined; + initSystemData_person(); //经手人数据 + initSelectInfo_person(); //经手人信息 + initSystemData_account(); //账户数据 + initSelectInfo_account(); //账户信息 + initSupplier(); //供应商 + initTableData(); + ininPager(); + initForm(); + bindEvent();//绑定操作事件 + $("#searchBtn").click(); + }); + + //获取账户信息 + function initSystemData_account(){ + $.ajax({ + type:"post", + url: path + "/account/getAccount.action", + //设置为同步 + async:false, + dataType: "json", + success: function (systemInfo) + { + accountList = systemInfo.showModel.map.accountList; + var msgTip = systemInfo.showModel.msgTip; + if(msgTip == "exceptoin") + { + $.messager.alert('提示','查找账户信息异常,请与管理员联系!','error'); + return; + } + } + }); + } + //获取账户信息 + 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: path + "/supplier/findBySelect_sup.action", + valueField:'id', + textField:'supplier' + }); + } + + //获取财务员 + function initSystemData_person(){ + var type = "财务员"; + $.ajax({ + type:"post", + url: path + "/person/getPersonByType.action", + data: { + Type: type + }, + //设置为同步 + async:false, + dataType: "json", + success: function (systemInfo) + { + personList = systemInfo.showModel.map.personList; + var msgTip = systemInfo.showModel.msgTip; + if(msgTip == "exceptoin") + { + $.messager.alert('提示','查找系统基础信息异常,请与管理员联系!','error'); + return; + } + } + }); + } + //获取财务员 + 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(){ + $('#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: 'BillNo',width:100}, + { title: '单据时间 ',field: 'BillTime',width:100}, + { title: '备注',field: 'Remark',width:100}, + { title: '操作',field: 'op',align:"center",width:180,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; + if(1 == value) + { + str += ' 查看  '; + str += ' 编辑  '; + str += ' 删除'; + } + return str; + } + } + ]], + 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; + } + }); + } + + //初始化表格数据-明细列表-编辑状态 + function initTableData_account(){ + $('#accountData').datagrid({ + height:300, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //fitColumns:true, + //单击行是否选中 + //checkOnSelect : false, + url: path + '/accountItem/findBy.action?HeaderId=' + accountHeadID, + pagination: true, + //交替出现背景 + striped : true, + //loadFilter: pagerFilter, + onClickRow: onClickRow, + pageSize: 50, + pageList: [50,100,150], + columns:[[ + { field: 'Id',width:35,align:"center",checkbox:true}, + { title: '收入项目',field: 'InOutItemId',width:230, + formatter:function(value,row,index){ + return row.InOutItemName; + }, + editor:{ + type:'combobox', + options:{ + valueField:'Id', + textField:'InOutItemName', + method:'get', + url: path + "/inOutItem/findBySelect.action?type=in" + } + } + }, + { title: '金额',field: 'EachAmount',editor:'validatebox',width:50}, + { 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; + } + }); + } + + + //初始化表格数据-明细列表-查看状态 + function initTableData_account_show(){ + $('#accountDataShow').datagrid({ + height:300, + rownumbers: false, + //动画效果 + animate:false, + //选中单行 + singleSelect : true, + collapsible:false, + selectOnCheck:false, + //fitColumns:true, + //单击行是否选中 + //checkOnSelect : false, + url: path + '/accountItem/findBy.action?HeaderId=' + accountHeadID, + pagination: true, + //交替出现背景 + striped : true, + //loadFilter: pagerFilter, + onClickRow: onClickRow, + pageSize: 50, + pageList: [50,100,150], + columns:[[ + { field: 'Id',width:35,align:"center",checkbox:true}, + { title: '收入项目',field: 'InOutItemName',width:230}, + { title: '金额',field: 'EachAmount',width:50}, + { title: '备注',field: 'Remark',width:150} + ]], + onLoadError:function() + { + $.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error'); + return; + } + }); + } + + + //分页信息处理 + 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){ + $.messager.confirm('删除确认','确定要删除此财务信息吗?',function(r) + { + if (r) + { + $.ajax({ + type:"post", + url: path + "/accountHead/delete.action", + dataType: "json", + data: ({ + accountHeadID : accountHeadID, + clientIp: clientIp + }), + success: function (tipInfo) + { + var msg = tipInfo.showModel.msgTip; + if(msg == '成功') + { + //加载完以后重新初始化 + $("#searchBtn").click(); + } + else + $.messager.alert('删除提示','删除财务信息失败,请稍后再试!','error'); + }, + //此处添加错误处理 + 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; + } + //alert(row[i].id); + ids += row[i].Id + ","; + } + $.ajax({ + type:"post", + url: path + "/accountHead/batchDelete.action", + dataType: "json", + async : false, + data: ({ + accountHeadIDs : ids, + clientIp: clientIp + }), + success: function (tipInfo) + { + var msg = tipInfo.showModel.msgTip; + if(msg == '成功') + { + //加载完以后重新初始化 + $("#searchBtn").click(); + $(":checkbox").attr("checked",false); + } + else + $.messager.alert('删除提示','删除财务信息失败,请稍后再试!','error'); + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error'); + return; + } + }); + } + }); + } + } + + //增加 + function addAccountHead(){ + $("#clientIp").val(clientIp); + $('#accountHeadFM').form('clear'); + $('#accountHeadDlg').dialog('open').dialog('setTitle',' 增加财务信息'); + $(".window-mask").css({ width: webW ,height: webH}); + $("#BillNo").val("").focus(); + + orgAccountHead = ""; + accountHeadID = 0; + initTableData_account(); //明细列表 + reject(); //撤销下、刷新材料列表 + url = path + '/accountHead/create.action'; + } + + //编辑信息 + function editAccountHead(accountHeadTotalInfo){ + var accountHeadInfo = accountHeadTotalInfo.split("AaBb"); + $("#clientIp").val(clientIp); + $("#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]); + $('#accountHeadDlg').dialog('open').dialog('setTitle',' 编辑财务信息'); + $(".window-mask").css({ width: webW ,height: webH}); + accountHeadID = accountHeadInfo[0]; + + initTableData_account(); //明细列表 + reject(); //撤销下、刷新材料列表 + url = path + '/accountHead/update.action?accountHeadID=' + 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]); + $('#accountHeadDlgShow').dialog('open').dialog('setTitle',' 查看财务信息'); + $(".window-mask").css({ width: webW ,height: webH}); + + accountHeadID = accountHeadInfo[0]; + initTableData_account_show(); //明细列表-查看状态 + } + + //绑定操作事件 + 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").unbind().bind({ + click:function() + { + if(!$('#accountHeadFM').form('validate')) + return; + else + { + $.ajax({ + type:"post", + url: url, + dataType: "json", + async : false, + data: ({ + Type: "收入", + BillNo : $.trim($("#BillNo").val()), + BillTime : $.trim($("#BillTime").val()), + AccountId: $.trim($("#AccountId").val()), + ChangeAmount: $.trim($("#ChangeAmount").val()), + OrganId: $('#OrganId').combobox('getValue'), + HandsPersonId: $.trim($("#HandsPersonId").val()), + Remark: $.trim($("#Remark").val()), + clientIp: clientIp + }), + success: function (tipInfo) + { + if(tipInfo) + { + //保存明细记录 + if(accountHeadID ==0) + { + getMaxId(); //查找最大的Id + accept(accountHeadMaxId); //新增 + } + else + { + accept(accountHeadID); //修改 + } + + + $('#accountHeadDlg').dialog('close'); + var opts = $("#tableData").datagrid('options'); + showAccountHeadDetails(opts.pageNumber,opts.pageSize); + } + else + { + $.messager.show({ + title: '错误提示', + msg: '保存信息失败,请稍后重试!' + }); + } + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('提示','保存信息异常,请稍后再试!','error'); + return; + } + }); + } + } + }); + //初始化键盘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){ + $.ajax({ + type:"post", + url: path + "/accountHead/findBy.action", + dataType: "json", + data: ({ + Type:"收入", + BillNo:$.trim($("#searchBillNo").val()), + BeginTime:$("#searchBeginTime").val(), + EndTime:$("#searchEndTime").val(), + pageNo:pageNo, + pageSize:pageSize + }), + success: function (data) + { + $("#tableData").datagrid('loadData',data); + }, + //此处添加错误处理 + error:function() + { + $.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error'); + return; + } + }); + } + //结束编辑 + function endEditing() { + if (editIndex == undefined) { return true } + if ($('#accountData').datagrid('validateRow', editIndex)) { + var ed = $('#accountData').datagrid('getEditor', {index:editIndex,field:'InOutItemId'}); + var InOutItemName = $(ed.target).combobox('getText'); + $('#accountData').datagrid('getRows')[editIndex]['InOutItemName'] = InOutItemName; + $('#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; + } 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); + } + } + //删除 + 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 (row[i].InOutItemId == "") { + totalRowNum += (i + 1) + "、"; + } + } + if (totalRowNum != "") { + var totalRowNum = totalRowNum.substring(0, totalRowNum.length - 1); + $.messager.alert('提示',"第" + totalRowNum + "行数据填写不完整!",'info'); + return false; + } + return true; + } + //保存 + function accept(accepId) { + 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: path + "/accountItem/saveDetials.action", + data: { + Inserted: JSON.stringify(inserted), + Deleted: JSON.stringify(deleted), + Updated: JSON.stringify(updated), + HeaderId: accepId, + clientIp: clientIp + }, + 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:"post", + url: path + "/accountHead/getMaxId.action", + //设置为同步 + async:false, + dataType: "json", + success: function (systemInfo) + { + if(systemInfo) + { + accountHeadMax = systemInfo.showModel.map.accountHeadMax; + var msgTip = systemInfo.showModel.msgTip; + if(msgTip == "exceptoin") + { + $.messager.alert('提示','查找最大的Id异常,请与管理员联系!','error'); + return; + } + } + else + { + accountHeadMax=null; + } + } + }); + + if(accountHeadMax !=null) + { + if(accountHeadMax.length>0) + { + accountHeadMaxId=accountHeadMax[0]; + } + } + } \ No newline at end of file diff --git a/WebRoot/pages/financial/item_in.jsp b/WebRoot/pages/financial/item_in.jsp index a05c7839f..ef51319f6 100644 --- a/WebRoot/pages/financial/item_in.jsp +++ b/WebRoot/pages/financial/item_in.jsp @@ -2,7 +2,6 @@ <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); - String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; String clientIp = Tools.getCurrentUserIP(); %> @@ -12,15 +11,21 @@ - - + - - - - + + + + + + + @@ -152,785 +157,5 @@ - -