Ext.QuickTips.init(); Ext.define('erp.controller.fa.arp.PayPlease2', { extend: 'Ext.app.Controller', FormUtil: Ext.create('erp.util.FormUtil'), GridUtil: Ext.create('erp.util.GridUtil'), BaseUtil: Ext.create('erp.util.BaseUtil'), ppdid:0, views:[ 'core.form.Panel','fa.arp.PayPlease2','fa.arp.payplease.PayPleaseDetailDetGrid2','fa.arp.payplease.PayPleaseDetailGrid','core.button.Save','core.button.Add','core.button.Close','core.button.Delete','core.button.Update','core.button.DeleteDetail', 'core.trigger.DbfindTrigger','core.trigger.TextAreaTrigger','core.form.YnField','core.button.ResAccounted','core.button.AssMain','core.button.Accounted','core.form.FileField', 'core.button.StrikeBalance','core.grid.AssPanel','core.window.AssWindow','core.trigger.CateTreeDbfindTrigger','core.trigger.HrOrgTreeDbfindTrigger', 'core.button.Post','core.button.ResPost','core.button.Print','core.button.Submit','core.button.ResAudit','core.button.Audit','core.button.ResSubmit', 'erp.view.core.button.AddDetail','erp.view.core.button.DeleteDetail','erp.view.core.button.Copy','erp.view.core.button.Paste','erp.view.core.button.Up', 'erp.view.core.button.Down','erp.view.core.button.UpExcel','core.button.TurnPayBalance','core.button.TurnBankRegister','core.button.TurnBillAP','core.button.TurnBillARChange', 'core.trigger.MultiDbfindTrigger', 'core.form.SeparNumber','core.form.MultiField','core.button.GetSumAmount','core.button.End','core.button.ResEnd' ], init:function(){ var me = this; me.gridLastSelected = null; this.control({ 'textfield[name=pp_thispayamount]':{ beforerender: function(field){ field.readOnly=false; } }, 'field[name=pp_thispaydate]':{ beforerender: function(field){ field.readOnly=false; //field.setValue(new Date()); } }, 'field[name=pp_refno]':{ beforerender: function(field){ field.readOnly=false; } }, 'field[name=pp_paymentcode]':{ beforerender: function(field){ field.readOnly=false; } }, 'erpGetSumAmountButton':{ click: function(btn){ var grid1 = Ext.getCmp("paypleasedetailGrid"),grid2 = Ext.getCmp("paypleasedetaildetGrid2"),items1 = grid1.store.data.items,items2 = grid2.store.data.items; var detailamount1 = 0; var detailamount2 = 0; Ext.each(items2,function(item,index){ if(!me.GridUtil.isBlank(grid2,item.data)) { detailamount2 = detailamount2 + Number(item.data['ppdd_thisapplyamount']); } }); me.gridLastSelected.set('ppd_applyamount',detailamount2); } }, //第一个从表 'paypleasedetailGrid':{ itemclick:me.onGridItemClick1, afterrender:function(grid){ grid.plugins[0].on('afteredit',function(e){ setTimeout(function(){ var amount = 0; Ext.each(grid.store.data.items,function(item,index){ amount=amount+Number(item.data['ppd_applyamount']); }); Ext.getCmp('pp_total').setValue(Ext.util.Format.number(amount,'0.00')); },200); }); } }, //第二个从表 'paypleasedetaildetGrid2':{ afterrender: function(g) { g.plugins[0].on('beforeedit', function(args) { var bool = true; if (args.field == "ppdd_pucode") { if (!Ext.isEmpty(args.record.get('ppdd_makecode'))){ bool = false; } return bool; } if (args.field == "ppdd_makecode") { if (!Ext.isEmpty(args.record.get('ppdd_pucode'))){ bool = false; } return bool; } }); }, itemclick:me.onGridItemClick2 }, //转付款单 'erpTurnPayBalanceButton':{ click:function(btn){ me.turnPayBalance(); }, afterrender: function(btn){ var status = Ext.getCmp(me.getForm(btn).statuscodeField); if(status && status.value != 'AUDITED'){ btn.hide(); } } }, //转银行登记 'erpTurnBankRegisterButton':{ click:function(btn){ me.turnBankRegister(); }, afterrender: function(btn){ var status = Ext.getCmp(me.getForm(btn).statuscodeField); if(status && status.value != 'AUDITED'){ btn.hide(); } } }, 'erpSaveButton': { click: function(btn){ var form = me.getForm(btn); if(Ext.getCmp(form.codeField).value == null || Ext.getCmp(form.codeField).value == ''){ me.BaseUtil.getRandomNumber(); } //保存之前的一些前台的逻辑判定 this.beforeSavePayPlease(); } }, 'erpDeleteButton' : { click: function(btn){ me.FormUtil.onDelete(Ext.getCmp('pp_id').value); } }, 'erpUpdateButton': { click: function(btn){ this.beforeUpdatePayPlease(); } }, 'erpAddButton': { click: function(){ me.FormUtil.onAdd('addPayPlease', '新增预付款申请单', 'jsps/fa/arp/payplease2.jsp'); } }, 'erpCloseButton': { click: function(btn){ me.FormUtil.beforeClose(me); } }, 'erpSubmitButton': { afterrender: function(btn){ var status = Ext.getCmp(me.getForm(btn).statuscodeField); if(status && status.value != 'ENTERING'){ btn.hide(); } }, click: function(btn){ me.beforeSubmit(btn); } }, 'erpResSubmitButton': { afterrender: function(btn){ var status = Ext.getCmp(me.getForm(btn).statuscodeField); if(status && status.value != 'COMMITED'){ btn.hide(); } }, click: function(btn){ me.FormUtil.onResSubmit(Ext.getCmp('pp_id').value); } }, 'erpAuditButton': { afterrender: function(btn){ var status = Ext.getCmp(me.getForm(btn).statuscodeField); if(status && status.value != 'COMMITED'){ btn.hide(); } }, click: function(btn){ me.FormUtil.onAudit(Ext.getCmp('pp_id').value); } }, 'erpResAuditButton': { afterrender: function(btn){ var status = Ext.getCmp(me.getForm(btn).statuscodeField); if(status && status.value != 'AUDITED'){ btn.hide(); } }, click: function(btn){ me.FormUtil.onResAudit(Ext.getCmp('pp_id').value); } }, 'erpPrintButton': { click: function(btn){ var reportName="APPay_app2"; var condition = '{PayPlease.pp_id}=' + Ext.getCmp('pp_id').value + ''; var id = Ext.getCmp('pp_id').value; me.FormUtil.onwindowsPrint(id, reportName, condition); } }, //应付票据付款 'erpTurnBillAPButton':{ click:function(btn){ me.turnBillAP(); }, afterrender: function(btn){ var status = Ext.getCmp(me.getForm(btn).statuscodeField); if(status && status.value != 'AUDITED'){ btn.hide(); } } }, //应付票据付款 'erpTurnBillARChangeButton':{ click:function(btn){ me.turnBillARChange(); }, afterrender: function(btn){ var status = Ext.getCmp(me.getForm(btn).statuscodeField); if(status && status.value != 'AUDITED'){ btn.hide(); } } }, 'erpEndButton': { afterrender: function(btn) { var status = Ext.getCmp('pp_statuscode'); if (status && status.value != 'AUDITED') { btn.hide(); } }, click: function(btn) { warnMsg("确定结案?", function(btn){ if(btn == 'yes'){ me.FormUtil.getActiveTab().setLoading(true);//loading... Ext.Ajax.request({ url : basePath + 'fa/arp/endPayPlease.action', params: { caller: caller, id: Ext.getCmp('pp_id').value }, method : 'post', callback : function(options,success,response){ me.FormUtil.getActiveTab().setLoading(false); var localJson = new Ext.decode(response.responseText); if(localJson.exceptionInfo){ showError(localJson.exceptionInfo); } if(localJson.success){ alert("结案成功!"); window.location.reload(); } } }); } }); } }, 'erpResEndButton': { afterrender: function(btn) { var status = Ext.getCmp('pp_statuscode'); if (status && status.value != 'FINISH') { btn.hide(); } }, click: function(btn) { warnMsg("确定反结案?", function(btn){ if(btn == 'yes'){ me.FormUtil.getActiveTab().setLoading(true);//loading... Ext.Ajax.request({ url : basePath + 'fa/arp/resEndPayPlease.action', params: { caller: caller, id: Ext.getCmp('pp_id').value }, method : 'post', callback : function(options,success,response){ me.FormUtil.getActiveTab().setLoading(false); var localJson = new Ext.decode(response.responseText); if(localJson.exceptionInfo){ showError(localJson.exceptionInfo); } if(localJson.success){ alert("反结案成功!"); window.location.reload(); } } }); } }); } }, 'dbfindtrigger[name=ppd_bankaccount]':{ focus: function(t){ var vecode = t.record.data['ppd_vendcode']; if(vecode != ''){ t.dbBaseCondition = " vpd_vecode='"+vecode+"' "; } } }, 'dbfindtrigger[name=ppdd_pucode]':{ focus: function(t){ t.setHideTrigger(false); t.setReadOnly(false); var record = Ext.getCmp('paypleasedetailGrid').selModel.selected.first(); if(!record || !record.data['ppd_vendcode']) { showError("请先选择供应商!"); t.setHideTrigger(true); t.setReadOnly(true); } else { var code = record.data['ppd_vendcode']; t.dbBaseCondition = " pu_vendcode = '" + code + "'"; } } }, 'multidbfindtrigger[name=ppdd_pucode]':{ focus: function(t){ t.setHideTrigger(false); t.setReadOnly(false); var record = Ext.getCmp('paypleasedetailGrid').selModel.selected.first(); if(!record || !record.data['ppd_vendcode']) { showError("请先选择供应商!"); t.setHideTrigger(true); t.setReadOnly(true); } else { var code = record.data['ppd_vendcode']; t.dbBaseCondition = " pu_vendcode = '" + code + "'"; } } }, 'dbfindtrigger[name=ppdd_makecode]':{ focus: function(t){ t.setHideTrigger(false); t.setReadOnly(false); var record = Ext.getCmp('paypleasedetailGrid').selModel.selected.first(); if(!record || !record.data['ppd_vendcode']) { showError("请先选择供应商!"); t.setHideTrigger(true); t.setReadOnly(true); } else { var code = record.data['ppd_vendcode']; t.dbBaseCondition = " ma_vendcode = '" + code + "'"; } } }, 'multidbfindtrigger[name=ppdd_makecode]':{ focus: function(t){ t.setHideTrigger(false); t.setReadOnly(false); var record = Ext.getCmp('paypleasedetailGrid').selModel.selected.first(); if(!record || !record.data['ppd_vendcode']) { showError("请先选择供应商!"); t.setHideTrigger(true); t.setReadOnly(true); } else { var code = record.data['ppd_vendcode']; t.dbBaseCondition = " ma_vendcode = '" + code + "'"; } } } }); }, turnPayBalance: function(){ var grid = Ext.getCmp('paypleasedetailGrid'); var items = grid.selModel.getSelection(); if(items.length==0){ Ext.Msg.alert('警告','请勾选需要转预付款单的明细行!'); return; } Ext.each(items, function(item, index){ if(this.data[grid.keyField] != null && this.data[grid.keyField] != '' && this.data[grid.keyField] != '0' && this.data[grid.keyField] != 0){ grid.multiselected.push(item); } }); var form = Ext.getCmp('form'); var records = Ext.Array.unique(grid.multiselected); var r = form.getValues(); if(records.length > 0){ var params = new Object(); params.caller = caller; var data = new Array(); params.formStore = unescape(Ext.JSON.encode(r).replace(/\\/g,"%")); var bool = false; Ext.each(records, function(record, index){ var f = form.fo_detailMainKeyField; if(((grid.keyField && this.data[grid.keyField] != null && this.data[grid.keyField] != '' && this.data[grid.keyField] != '0' && this.data[grid.keyField] != 0) ||(f && this.data[f] != null && this.data[f] != '' && this.data[f] != '0' && this.data[f] != 0))&&(record.data['ppd_statuscode']!='TURNPP')){ bool = true; var o = new Object(); if(grid.keyField){ o[grid.keyField] = record.data[grid.keyField]; } else { params.id[index] = record.data[form.fo_detailMainKeyField]; } if(grid.toField){ Ext.each(grid.toField, function(f, index){ var v = Ext.getCmp(f).value; if(v != null && v.toString().trim() != '' && v.toString().trim() != 'null'){ o[f] = v; } }); } if(grid.necessaryFields){ Ext.each(grid.necessaryFields, function(f, index){ var v = record.data[f]; if(Ext.isDate(v)){ v = Ext.Date.toString(v); } o[f] = v; }); } data.push(o); } }); if(bool){ params.data = Ext.encode(data); var main = parent.Ext.getCmp("content-panel"); main.getActiveTab().setLoading(true);//loading... Ext.Ajax.request({ url : basePath + 'fa/PayPleaseController/turnPayBalance.action', params: params, method : 'post', callback : function(options,success,response){ main.getActiveTab().setLoading(false); var localJson = new Ext.decode(response.responseText); if(localJson.exceptionInfo){ showError(localJson.exceptionInfo); return ""; } if(localJson.success){ if(localJson.log){ showMessage("提示", localJson.log); } Ext.Msg.alert("提示", "处理成功!", function(){ var me = this; //add成功后刷新页面进入可编辑的页面 var value = r[form.keyField]; var formCondition = form.keyField + "IS" + value ; if(me.contains(window.location.href, '?', true)){ window.location.href = window.location.href + '&formCondition=' + formCondition; } else { window.location.href = window.location.href + '?formCondition=' + formCondition; } }); } } }); } else { showError("没有需要处理的数据!"); } } }, //点击第一个grid onGridItemClick1: function(selModel,record){ var me = this; me.gridLastSelected = record; var ppd_id = record.data['ppd_id']; this.ppdid = ppd_id; var grid = Ext.getCmp('paypleasedetailGrid'); var ppddgrid = Ext.getCmp('paypleasedetaildetGrid2'); if(ppd_id > 0 && !me.GridUtil.isBlank(grid,record.data)){ var condition = "ppdd_ppdid='"+ppd_id+"'"; ppddgrid.getMyData(condition); } this.onGridItemClick(selModel,record,'paypleasedetailGrid'); }, //点击第二个GRID onGridItemClick2: function(selModel,record){ this.onGridItemClick(selModel,record,'paypleasedetaildetGrid2'); }, onGridItemClick: function(selModel, record,id){//grid行选择 this.GridUtil.onGridItemClick(selModel, record,id); }, getForm: function(btn){ return btn.ownerCt.ownerCt; }, beforeSavePayPlease: function(){ this.beforeSave(); }, beforeUpdatePayPlease:function(){ var s = ' '; var ppdgrid = Ext.getCmp('paypleasedetailGrid'); var items = ppdgrid.store.data.items; var bool = true; var amount = 0; Ext.each(items,function(item){ var keys = Ext.Object.getKeys(item.modified); Ext.each(keys,function(key){ if(key=='ppd_auditamount'||key=='ppd_ifpay'){ item.set('ppd_editor',em_name); item.set('ppd_editorid',em_uu); } }); var applyamount = item.data['ppd_applyamount']; var auditamount = item.data['ppd_auditamount']; if(applyamount'+s+')' + $I18N.common.form.necessaryInfo2); return false; }, beforeUpdate: function(me){ var mm = this; if(! this.checkForm()){ return; } var grids = Ext.ComponentQuery.query('paypleasedetailGrid'); var gridsDet = Ext.ComponentQuery.query('paypleasedetaildetGrid2'); var currency1 = ''; if(this.gridLastSelected){ if(this.gridLastSelected.data['ppd_id']){ currency1 = this.gridLastSelected.data['ppd_currency']; mm.ppdid = this.gridLastSelected.data['ppd_id']; } }else{ currency1 = grids[0].store.data.items[0].data['ppd_currency']; } var sameCurrency = true; Ext.each(gridsDet[0].store.data.items,function(item, index){ if(item.dirty && !mm.GridUtil.isBlank(gridsDet[0], item.data)){ var thisapplyamount = item.data['ppdd_thisapplyamount']; if(thisapplyamount == 0 || thisapplyamount == null){ showError('明细表第' + item.data['ppdd_detno'] + '行本次申请金额不能为空!');return; return; } if(!Ext.isEmpty(currency1) && item.data['ppdd_currency'] != currency1){ sameCurrency = false; } } }); if(!sameCurrency){ showError($I18N.common.msg.failure_update_currency); return; } if(mm.ppdid == 0 || mm.ppdid == null){ if(grids[0]){ mm.ppdid = grids[0].store.data.items[0].data['ppd_id']; }else{ mm.ppdid = 0; } } //如果ppdid == 0 则次页面为新建页面 活着以前也没有在grid1中添加数据 //grid1 中的数据 var param1 = mm.GridUtil.getGridStore(grids[0]); //grid2中的数据 var param2 = mm.getGridStoreDet(gridsDet[0]); //ppdid==0的情况为 grid1第一条没有数据的情况 次情况只能保存grid1中的数据 grid2中的数据保存不上 //如果ppdid!=0 则可能的情况为 1.点击grid1选择了一条数据 2.没有点击grid1 但是grid1中有数据 此时 //grid2中的数据自动保存在grid1中第一条数据下 if(mm.ppdid == 0){ if(param2 == null || param2 == ''){ //此时grid2数据为空 可以保存grid1的数据 mm.onUpdate(param1); }else{ warnMsg('不能保存从表二中的数据,是否只保存从表一?',function(btn){ if(btn =='yes'){ //保存从表一中的数据 mm.onUpdate(param1); }else{ //return return; } }); } }else{ if(param2 ==null||param2==''){ mm.onUpdate(param1); }else{ mm.onUpdate(param1,param2); } } }, beforeSave: function(me){ var mm = this; var form = Ext.getCmp('form'); if(! this.checkForm()){ return; } if(Ext.getCmp(form.keyField).value == null || Ext.getCmp(form.keyField).value == ''){ mm.FormUtil.getSeqId(form); } var grids = Ext.getCmp('paypleasedetailGrid'); var gridsDet = Ext.getCmp('paypleasedetaildetGrid2'); var currency1 = ''; if(this.gridLastSelected){ currency1 = this.gridLastSelected.data['ppd_currency']; mm.ppdid = this.gridLastSelected.data['ppd_id']; } else{ currency1 = grids.store.first().data['ppd_currency']; } var sameCurrency = true; Ext.each(gridsDet.store.data.items,function(item, index){ if(item.dirty && !mm.GridUtil.isBlank(gridsDet,item.data)){ if(!Ext.isEmpty(currency1) && item.data['ppdd_currency'] != currency1){ sameCurrency = false; } } }); if(mm.ppdid == 0 || mm.ppdid == null){ if(grids[0]){ mm.ppdid = grids[0].store.data.items[0].data['ppd_id']; }else{ mm.ppdid = 0; } } //如果ppdid == 0 则次页面为新建页面 活着以前也没有在grid1中添加数据 //grid1 中的数据 var param1 = mm.GridUtil.getGridStore(grids); //grid2中的数据 var param2 = mm.getGridStoreDet(gridsDet); //ppdid==0的情况为 grid1第一条没有数据的情况 次情况只能保存grid1中的数据 grid2中的数据保存不上 //如果ppdid!=0 则可能的情况为 1.点击grid1选择了一条数据 2.没有点击grid1 但是grid1中有数据 此时 //grid2中的数据自动保存在grid1中第一条数据下 if(mm.ppdid == 0){ if(param2 == null || param2 == ''){ //此时grid2数据为空 可以保存grid1的数据 mm.onSave(param1); }else{ warnMsg('不能保存从表二中的数据,是否只保存从表一?',function(btn){ if(btn =='yes'){ //保存从表一中的数据 mm.onSave(param1); }else{ //return return; } }); } }else{ if(param2 ==null||param2==''){ mm.onSave(param1); }else{ mm.onSave(param1,param2); } } }, beforeSubmit: function(){ var me = this; var grid2 = Ext.getCmp('paypleasedetaildetGrid2'),items2=grid2.store.data.items; var bool = true; Ext.each(items2,function(item,index){ if(!me.GridUtil.isBlank(grid2, item.data)){ if(Math.abs(Number(item.data['ppdd_billamount'])) 0){ tab = win[win.length-1]; } } return tab; }, /** * string:原始字符串 * substr:子字符串 * isIgnoreCase:忽略大小写 */ contains: function(string,substr,isIgnoreCase){ if(isIgnoreCase){ string=string.toLowerCase(); substr=substr.toLowerCase(); } var startChar=substr.substring(0,1); var strLen=substr.length; for(var j=0;j0.01){ Ext.Msg.alert('警告','本次付款金额超过剩余未转金额!未转金额:'+ (ppamount-amount)); return; } if(items.length==0){ Ext.Msg.alert('警告','请勾选需要转银行登记的明细行!'); return; } if(catecode == null || catecode == ''){ Ext.Msg.alert('警告','请填写需要转银行登记的付款方信息!'); return; } if(thisamount == null || thisamount=='' || thisamount==0){ Ext.Msg.alert('警告','本次付款金额未填写!'); return; } Ext.each(items, function(item, index){ if(this.data[grid.keyField] != null && this.data[grid.keyField] != '' && this.data[grid.keyField] != '0' && this.data[grid.keyField] != 0){ grid.multiselected.push(item); } }); var form = Ext.getCmp('form'); var records = Ext.Array.unique(grid.multiselected); var r = form.getValues(); if(records.length > 0){ var params = new Object(); params.caller = caller; var data = new Array(); params.formStore = unescape(Ext.JSON.encode(r).replace(/\\/g,"%")); var bool = false; Ext.each(records, function(record, index){ var f = form.fo_detailMainKeyField; if(((grid.keyField && this.data[grid.keyField] != null && this.data[grid.keyField] != '' && this.data[grid.keyField] != '0' && this.data[grid.keyField] != 0) ||(f && this.data[f] != null && this.data[f] != '' && this.data[f] != '0' && this.data[f] != 0))&&(record.data['ppd_statuscode']!='TURNPB')){ bool = true; var o = new Object(); if(grid.keyField){ o[grid.keyField] = record.data[grid.keyField]; } else { params.id[index] = record.data[form.fo_detailMainKeyField]; } if(grid.toField){ Ext.each(grid.toField, function(f, index){ var v = Ext.getCmp(f).value; if(v != null && v.toString().trim() != '' && v.toString().trim() != 'null'){ o[f] = v; } }); } if(grid.necessaryFields){ Ext.each(grid.necessaryFields, function(f, index){ var v = record.data[f]; if(Ext.isDate(v)){ v = Ext.Date.toString(v); } o[f] = v; }); } data.push(o); } }); if(bool){ params.data = Ext.encode(data); var main = parent.Ext.getCmp("content-panel"); main.getActiveTab().setLoading(true);//loading... Ext.Ajax.request({ url : basePath + 'fa/PayPleaseController/turnBankRegister.action', params: params, method : 'post', callback : function(options,success,response){ main.getActiveTab().setLoading(false); var localJson = new Ext.decode(response.responseText); if(localJson.exceptionInfo){ showError(localJson.exceptionInfo); return ""; } if(localJson.success){ if(localJson.log){ showMessage("提示", localJson.log); } Ext.Msg.alert("提示", "处理成功!", function(){ var me = this; //add成功后刷新页面进入可编辑的页面 var value = r[form.keyField]; var formCondition = form.keyField + "IS" + value ; if(me.contains(window.location.href, '?', true)){ window.location.href = window.location.href + '&formCondition=' + formCondition; } else { window.location.href = window.location.href + '?formCondition=' + formCondition; } }); } } }); } else { showError("没有需要处理的数据!"); } } }, turnBillAP: function(){ var grid = Ext.getCmp('paypleasedetailGrid'), catecode = Ext.getCmp('pp_paymentcode').value; var items = grid.selModel.getSelection(); var thisamount = Ext.getCmp('pp_thispayamount').value, amount = 0; var ppamount = Ext.getCmp('pp_total').value; var thispaydate = Ext.getCmp('pp_thispaydate').value; if(Ext.isEmpty(thispaydate)){ Ext.Msg.alert('警告','请填写本次付款日期!'); return; } Ext.each(grid.store.data.items,function(item,index){ amount=amount+Number(item.data['ppd_account']); }); if(thisamount-(ppamount-amount)>0.01){ Ext.Msg.alert('警告','本次付款金额超过剩余未转金额!未转金额:'+ (ppamount-amount)); return; } if(items.length==0){ Ext.Msg.alert('警告','请勾选需要转应付票据的明细行!'); return; } if(catecode == null || catecode == ''){ Ext.Msg.alert('警告','请填写需要转应付票据的付款方信息!'); return; } if(thisamount == null || thisamount=='' || thisamount==0){ Ext.Msg.alert('警告','本次付款金额未填写!'); return; } Ext.each(items, function(item, index){ if(this.data[grid.keyField] != null && this.data[grid.keyField] != '' && this.data[grid.keyField] != '0' && this.data[grid.keyField] != 0){ grid.multiselected.push(item); } }); var form = Ext.getCmp('form'); var records = Ext.Array.unique(grid.multiselected); var r = form.getValues(); if(records.length > 0){ var params = new Object(); params.caller = caller; var data = new Array(); params.formStore = unescape(Ext.JSON.encode(r).replace(/\\/g,"%")); var bool = false; Ext.each(records, function(record, index){ var f = form.fo_detailMainKeyField; if(((grid.keyField && this.data[grid.keyField] != null && this.data[grid.keyField] != '' && this.data[grid.keyField] != '0' && this.data[grid.keyField] != 0) ||(f && this.data[f] != null && this.data[f] != '' && this.data[f] != '0' && this.data[f] != 0))&&(record.data['ppd_statuscode']!='TURNPB')){ bool = true; var o = new Object(); if(grid.keyField){ o[grid.keyField] = record.data[grid.keyField]; } else { params.id[index] = record.data[form.fo_detailMainKeyField]; } if(grid.toField){ Ext.each(grid.toField, function(f, index){ var v = Ext.getCmp(f).value; if(v != null && v.toString().trim() != '' && v.toString().trim() != 'null'){ o[f] = v; } }); } if(grid.necessaryFields){ Ext.each(grid.necessaryFields, function(f, index){ var v = record.data[f]; if(Ext.isDate(v)){ v = Ext.Date.toString(v); } o[f] = v; }); } data.push(o); } }); if(bool){ params.data = Ext.encode(data); var main = parent.Ext.getCmp("content-panel"); main.getActiveTab().setLoading(true);//loading... Ext.Ajax.request({ url : basePath + 'fa/PayPleaseController/turnBillAP.action', params: params, method : 'post', callback : function(options,success,response){ main.getActiveTab().setLoading(false); var localJson = new Ext.decode(response.responseText); if(localJson.exceptionInfo){ showError(localJson.exceptionInfo); return ""; } if(localJson.success){ if(localJson.log){ showMessage("提示", localJson.log); } Ext.Msg.alert("提示", "处理成功!", function(){ var me = this; //add成功后刷新页面进入可编辑的页面 var value = r[form.keyField]; var formCondition = form.keyField + "IS" + value ; if(me.contains(window.location.href, '?', true)){ window.location.href = window.location.href + '&formCondition=' + formCondition; } else { window.location.href = window.location.href + '?formCondition=' + formCondition; } }); } } }); } else { showError("没有需要处理的数据!"); } } }, turnBillARChange: function(){ var grid = Ext.getCmp('paypleasedetailGrid'), catecode = Ext.getCmp('pp_paymentcode').value; var items = grid.selModel.getSelection(); var thisamount = Ext.getCmp('pp_thispayamount').value, amount = 0; var ppamount = Ext.getCmp('pp_total').value; var thispaydate = Ext.getCmp('pp_thispaydate').value; if(Ext.isEmpty(thispaydate)){ Ext.Msg.alert('警告','请填写本次付款日期!'); return; } Ext.each(grid.store.data.items,function(item,index){ amount=amount+Number(item.data['ppd_account']); }); if(thisamount-(ppamount-amount)>0.01){ Ext.Msg.alert('警告','本次付款金额超过剩余未转金额!未转金额:'+ (ppamount-amount)); return; } if(items.length==0){ Ext.Msg.alert('警告','请勾选需要转应付票据的明细行!'); return; } /* if(catecode == null || catecode == ''){ Ext.Msg.alert('警告','请填写需要转应付票据的付款方信息!'); return; }*/ if(thisamount == null || thisamount=='' || thisamount==0){ Ext.Msg.alert('警告','本次付款金额未填写!'); return; } Ext.each(items, function(item, index){ if(this.data[grid.keyField] != null && this.data[grid.keyField] != '' && this.data[grid.keyField] != '0' && this.data[grid.keyField] != 0){ grid.multiselected.push(item); } }); var form = Ext.getCmp('form'); var records = Ext.Array.unique(grid.multiselected); var r = form.getValues(); if(records.length > 0){ var params = new Object(); params.caller = caller; var data = new Array(); params.formStore = unescape(Ext.JSON.encode(r).replace(/\\/g,"%")); var bool = false; Ext.each(records, function(record, index){ var f = form.fo_detailMainKeyField; if(((grid.keyField && this.data[grid.keyField] != null && this.data[grid.keyField] != '' && this.data[grid.keyField] != '0' && this.data[grid.keyField] != 0) ||(f && this.data[f] != null && this.data[f] != '' && this.data[f] != '0' && this.data[f] != 0))&&(record.data['ppd_statuscode']!='TURNPB')){ bool = true; var o = new Object(); if(grid.keyField){ o[grid.keyField] = record.data[grid.keyField]; } else { params.id[index] = record.data[form.fo_detailMainKeyField]; } if(grid.toField){ Ext.each(grid.toField, function(f, index){ var v = Ext.getCmp(f).value; if(v != null && v.toString().trim() != '' && v.toString().trim() != 'null'){ o[f] = v; } }); } if(grid.necessaryFields){ Ext.each(grid.necessaryFields, function(f, index){ var v = record.data[f]; if(Ext.isDate(v)){ v = Ext.Date.toString(v); } o[f] = v; }); } data.push(o); } }); if(bool){ params.data = Ext.encode(data); var main = parent.Ext.getCmp("content-panel"); main.getActiveTab().setLoading(true);//loading... Ext.Ajax.request({ url : basePath + 'fa/PayPleaseController/turnBillARChange.action', params: params, method : 'post', callback : function(options,success,response){ main.getActiveTab().setLoading(false); var localJson = new Ext.decode(response.responseText); if(localJson.exceptionInfo){ showError(localJson.exceptionInfo); return ""; } if(localJson.success){ if(localJson.log){ showMessage("提示", localJson.log); } Ext.Msg.alert("提示", "处理成功!", function(){ var me = this; //add成功后刷新页面进入可编辑的页面 var value = r[form.keyField]; var formCondition = form.keyField + "IS" + value ; if(me.contains(window.location.href, '?', true)){ window.location.href = window.location.href + '&formCondition=' + formCondition; } else { window.location.href = window.location.href + '?formCondition=' + formCondition; } }); } } }); } else { showError("没有需要处理的数据!"); } } } });