173 lines
6.3 KiB
JavaScript
173 lines
6.3 KiB
JavaScript
var aheadPaymentCalcFlag = true;//控制是否需要贷款提前还款计算
|
|
var aheadPaymentScheFlag = false;//控制是否需要贷款进行还款计划测算
|
|
/*~[Describe=保存前校验方法;InputParam=无;OutPutParam=无;]~*/
|
|
function beforeSave(){
|
|
var transDate = getItemValue(0,getRow(),"TransDate");
|
|
if(transDate < businessDate){
|
|
alert("生效日期不能早于当前日期");
|
|
return false;
|
|
}
|
|
|
|
var prePayAmt = getItemValue(0,getRow(),"PrePayAmt");
|
|
var PrePayType = getItemValue(0,getRow(),"PrePayType");
|
|
if(parseFloat(prePayAmt)<=0 && PrePayType != "3"){//不是全部提前还款
|
|
alert("还款总金额不能小于等于0");
|
|
setItemValue(0,getRow(),"PrePayAmt",0);
|
|
return false;
|
|
}
|
|
//校验账号必输
|
|
var payAccountNo = getItemValue(0,getRow(),"PayAccountNo");
|
|
if(typeof(payAccountNo)=="undefined"||payAccountNo.length==0){
|
|
alert("必须引入还款账号!");
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
/*~[Describe=保存后续逻辑;InputParam=无;OutPutParam=无;]~*/
|
|
function afterSave(){
|
|
if(aheadPaymentCalcFlag)
|
|
{
|
|
AsDialog.PopView("/Accounting/Transaction/AheadPaymentConsult.jsp","TransactionSerialNo="+transactionSerialNo,"dialogWidth=500px;dialogHeight=380px;",function(apcs){
|
|
apcs = top.returnValue;
|
|
if(typeof(apcs) != "undefined" && apcs.length != 0)
|
|
{
|
|
var prePayAmt = apcs.split("@")[0];
|
|
var prePayPrincipalAmt = apcs.split("@")[1];
|
|
var prePayInterestAmt = apcs.split("@")[2];
|
|
var prePayPenaltyAMT = apcs.split("@")[3];
|
|
var waivePrePayPenaltyAMT = apcs.split("@")[4];
|
|
var actualPrePayPenaltyAMT = apcs.split("@")[5];
|
|
var PrePayFeeAMT = apcs.split("@")[6];
|
|
setItemValue(0,0,"PrePayAmt",prePayAmt);
|
|
setItemValue(0,0,"PrePayPrincipalAmt",prePayPrincipalAmt);
|
|
setItemValue(0,0,"PrePayInterestAmt",prePayInterestAmt);
|
|
setItemValue(0,0,"PrePayPenaltyAMT",prePayPenaltyAMT);
|
|
setItemValue(0,0,"WaivePrePayPenaltyAMT",waivePrePayPenaltyAMT);
|
|
setItemValue(0,0,"ActualPrePayPenaltyAMT",actualPrePayPenaltyAMT);
|
|
setItemValue(0,0,"PrePayFeeAMT",PrePayFeeAMT);
|
|
CalcActualPrePayPenaltyAMT();
|
|
}
|
|
ViewPrepaymentConsult();
|
|
});
|
|
}else{
|
|
ViewPrepaymentConsult();
|
|
}
|
|
}
|
|
|
|
function ViewPrepaymentConsult(){
|
|
if(aheadPaymentScheFlag)
|
|
{
|
|
AsDialog.PopView("/Accounting/Transaction/ViewPrepaymentConsult.jsp","ToInheritObj=y&TransSerialNo="+transactionSerialNo,"",function(){
|
|
aheadPaymentScheFlag = false;
|
|
changePrepayType();
|
|
});
|
|
}
|
|
changePrepayType();
|
|
}
|
|
|
|
/*~[Describe=根据提前还款咨询;InputParam=后续事件;OutPutParam=无;]~*/
|
|
function repayConsult(){
|
|
var prePayAmt = getItemValue(0,getRow(),"PrePayAmt");
|
|
/*var transStatus = getItemValue(0,getRow(),"TransStatus");
|
|
if(typeof(transStatus)=="undefined"||transStatus.length==0 || transStatus !="0"){
|
|
alert("此笔交易状态不是待提交,不允许试算!");
|
|
return;
|
|
}*/
|
|
aheadPaymentCalcFlag = true;
|
|
saveRecord("afterSave();");
|
|
}
|
|
|
|
/*~[Describe=还款计划测算;InputParam=无;OutPutParam=无;]~*/
|
|
function viewConsult(){
|
|
aheadPaymentScheFlag = true;
|
|
saveRecord("afterSave();");
|
|
}
|
|
|
|
/*~[Describe=初始化;InputParam=无;OutPutParam=无;]~*/
|
|
function initRow(){
|
|
setItemValue(0,getRow(),"INPUTUSERID",curUserID);
|
|
setItemValue(0,getRow(),"INPUTUSERNAME",curUserName);
|
|
setItemValue(0,getRow(),"INPUTORGID",curOrgID);
|
|
setItemValue(0,getRow(),"INPUTORGNAME",curOrgName);
|
|
setItemValue(0,getRow(),"INPUTDATE",businessDate);
|
|
setItemValue(0,getRow(),"UPDATEUSERID",curUserID);
|
|
setItemValue(0,getRow(),"UPDATEUSERNAME",curUserName);
|
|
setItemValue(0,getRow(),"UPDATEORGID",curOrgID);
|
|
setItemValue(0,getRow(),"UPDATEORGNAME",curOrgName);
|
|
setItemValue(0,getRow(),"UPDATEDATE",businessDate);
|
|
var WaivePrePayPenaltyAMT = getItemValue(0,getRow(),"WaivePrePayPenaltyAMT");
|
|
if(WaivePrePayPenaltyAMT == null || typeof(WaivePrePayPenaltyAMT) == "undefined" || WaivePrePayPenaltyAMT == ""){
|
|
setItemValue(0,getRow(),"WaivePrePayPenaltyAMT","0.0");
|
|
setItemValue(0,getRow(),"ActualPrePayPenaltyAMT",getItemValue(0,getRow(),"PrePayPenaltyAMT"));
|
|
}
|
|
setValue("TransDate",businessDate);
|
|
changePrepayType();
|
|
changeCashOnlineFlag();
|
|
}
|
|
|
|
/*~[Describe=根据提前还款方式不同触发该事件;InputParam=后续事件;OutPutParam=无;]~*/
|
|
function changePrepayType(){
|
|
var normalBalance = getItemValue(0,getRow(),"NormalBalance");
|
|
var overdueBalance = getItemValue(0,getRow(),"OverdueBalance");
|
|
var prePayType = getItemValue(0,0,"PrePayType");
|
|
if(typeof(prePayType)=="undefined" || prePayType.length==0){
|
|
return;
|
|
}
|
|
if(rightType!='ReadOnly'){
|
|
if(prePayType == "3"){
|
|
setItemValue(0,0,"PrePayAmtFlag","1");
|
|
setItemDisabled(0,0,"PrePayAmtFlag",true);
|
|
setItemValue(0,0,"PrePayAmt",(parseFloat(normalBalance)));
|
|
setItemDisabled(0,0,"PrePayAmt",true);
|
|
setItemValue(0,0,"PrepayInterestBaseFlag","2");
|
|
setItemValue(0,0,"PrepayInterestDaysFlag","1");
|
|
setItemDisabled(0,0,"PrepayInterestDaysFlag",true);
|
|
setItemDisabled(0,0,"PrepayInterestBaseFlag",true);
|
|
}else{
|
|
var prepayInterestDaysFlag = getItemValue(0,0,"PrepayInterestDaysFlag");
|
|
if(typeof(prepayInterestDaysFlag)=="undefined" || prepayInterestDaysFlag.length==0){
|
|
return;
|
|
}else if(prepayInterestDaysFlag=="3"){
|
|
setItemValue(0,0,"PrepayInterestBaseFlag","1");
|
|
setItemValue(0,0,"PrePayAmtFlag","1");
|
|
setItemDisabled(0,0,"PrepayInterestBaseFlag",true);
|
|
setItemDisabled(0,0,"PrePayAmtFlag",true);
|
|
|
|
}else{
|
|
setItemDisabled(0,0,"PrePayAmtFlag",false);
|
|
setItemDisabled(0,0,"PrePayAmt",false);
|
|
setItemDisabled(0,0,"PrepayInterestBaseFlag",false);
|
|
setItemDisabled(0,0,"PrepayInterestDaysFlag",false);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/*~[Describe=计算实际违约金;InputParam=无;OutPutParam=无;]~*/
|
|
function CalcActualPrePayPenaltyAMT(){
|
|
var PrePayPenaltyAMT = getItemValue(0,getRow(),"PrePayPenaltyAMT");
|
|
if(PrePayPenaltyAMT == null || typeof(PrePayPenaltyAMT) == "undefined")
|
|
PrePayPenaltyAMT = 0.0;
|
|
var WaivePrePayPenaltyAMT = getItemValue(0,getRow(),"WaivePrePayPenaltyAMT");
|
|
if(WaivePrePayPenaltyAMT == null || typeof(WaivePrePayPenaltyAMT) == "undefined")
|
|
WaivePrePayPenaltyAMT = 0.0;
|
|
if(WaivePrePayPenaltyAMT < 0 && Math.abs(WaivePrePayPenaltyAMT) > PrePayPenaltyAMT){
|
|
alert("调整违约金金额不能大于应还违约金金额");
|
|
setItemValue(0,0,"WaivePrePayPenaltyAMT","0.0");
|
|
setItemValue(0,0,"ActualPrePayPenaltyAMT",getItemValue(0,getRow(),"PrePayPenaltyAMT"));
|
|
return;
|
|
}
|
|
|
|
if(Number(PrePayPenaltyAMT)+Number(WaivePrePayPenaltyAMT) == 0)
|
|
setItemValue(0,0,"ActualPrePayPenaltyAMT","0.0");
|
|
else
|
|
setItemValue(0,0,"ActualPrePayPenaltyAMT",Number(PrePayPenaltyAMT)+Number(WaivePrePayPenaltyAMT));
|
|
}
|
|
|
|
|
|
|
|
|
|
|