diff --git a/erp_web/js/pages/financial/financial_base.js b/erp_web/js/pages/financial/financial_base.js
index a2e82c75..32c99ecf 100644
--- a/erp_web/js/pages/financial/financial_base.js
+++ b/erp_web/js/pages/financial/financial_base.js
@@ -1,1093 +1,1093 @@
- //初始化界面
- $(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;
- }
- });
- }
-
- //初始化表格数据-明细列表-编辑状态
- 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/" + accountHeadID + "/delete",
- dataType: "json",
- success: function (res) {
- if(res && res.code == 200) {
- $("#searchBtn").click();
- } else {
- $.messager.alert('删除提示', '删除财务信息失败,请稍后再试!', 'error');
- }
- },
- //此处添加错误处理
- 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 + ",";
- }
- //批量更新会员的预收款信息
- 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;
- }
- });
- }
- }
- //批量删除
- $.ajax({
- type:"post",
- url: "/accountHead/batchDelete",
- 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');
- }
- },
- success: function (res) {
- if(res && res.code === 200) {
- $("#searchBtn").click();
- $(":checkbox").attr("checked", false);
- } else {
- $.messager.alert('删除提示', '删除财务信息失败,请稍后再试!', 'error');
- }
- },
- //此处添加错误处理
- error:function() {
- $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error');
- return;
- }
- });
- }
- });
- }
- }
-
- //增加
- function addAccountHead(){
- $("#clientIp").val(clientIp);
- $('#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");
- $("#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]);
- 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]);
- 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;
- }
- });
- }
- });
- //初始化键盘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:"get",
- url: "/accountHead/list",
- dataType: "json",
- data: ({
- search: JSON.stringify({
- type: listType,
- billNo: $.trim($("#searchBillNo").val()),
- beginTime: $("#searchBeginTime").val(),
- endTime: $("#searchEndTime").val()
- }),
- 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;
- }
+ //初始化界面
+ $(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;
+ }
+ });
+ }
+
+ //初始化表格数据-明细列表-编辑状态
+ 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/" + accountHeadID + "/delete",
+ dataType: "json",
+ success: function (res) {
+ if(res && res.code == 200) {
+ $("#searchBtn").click();
+ } else {
+ $.messager.alert('删除提示', '删除财务信息失败,请稍后再试!', 'error');
+ }
+ },
+ //此处添加错误处理
+ 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 + ",";
+ }
+ //批量更新会员的预收款信息
+ 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;
+ }
+ });
+ }
+ }
+ //批量删除
+ $.ajax({
+ type:"post",
+ url: "/accountHead/batchDelete",
+ 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');
+ }
+ },
+ success: function (res) {
+ if(res && res.code === 200) {
+ $("#searchBtn").click();
+ $(":checkbox").attr("checked", false);
+ } else {
+ $.messager.alert('删除提示', '删除财务信息失败,请稍后再试!', 'error');
+ }
+ },
+ //此处添加错误处理
+ error:function() {
+ $.messager.alert('删除提示','删除财务信息异常,请稍后再试!','error');
+ return;
+ }
+ });
+ }
+ });
+ }
+ }
+
+ //增加
+ function addAccountHead(){
+ $("#clientIp").val(clientIp);
+ $('#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");
+ $("#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]);
+ 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]);
+ 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;
+ }
+ });
+ }
+ });
+ //初始化键盘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:"get",
+ url: "/accountHead/list",
+ dataType: "json",
+ data: ({
+ search: JSON.stringify({
+ type: listType,
+ billNo: $.trim($("#searchBillNo").val()),
+ beginTime: $("#searchBeginTime").val(),
+ endTime: $("#searchEndTime").val()
+ }),
+ 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;
+ }
}
\ No newline at end of file
diff --git a/src/main/java/com/jsh/erp/controller/DepotItemController.java b/src/main/java/com/jsh/erp/controller/DepotItemController.java
index cf481d21..16c776e2 100644
--- a/src/main/java/com/jsh/erp/controller/DepotItemController.java
+++ b/src/main/java/com/jsh/erp/controller/DepotItemController.java
@@ -53,13 +53,16 @@ public class DepotItemController {
try {
List depotItemList = depotItemService.getHeaderIdByMaterial(materialParam, depotIds);
String allReturn = "";
- if (depotItemList != null) {
+ if (depotItemList != null&&depotItemList.size()>0) {
for (DepotItemVo4HeaderId d : depotItemList) {
Long dl = d.getHeaderid(); //获取对象
allReturn = allReturn + dl.toString() + ",";
}
+ /**
+ * 2019-01-17修复depotItemList集合为空时,程序异常
+ * */
+ allReturn = allReturn.substring(0, allReturn.length() - 1);
}
- allReturn = allReturn.substring(0, allReturn.length() - 1);
if (allReturn.equals("null")) {
allReturn = "";
}