<?xml version="1.0" encoding="UTF-8"?> <!-- $Author: Robert8900 $Date: 2018-8-13 下午18:14:49 $Revision: 1.0 $Purpose: hlcm中途偿还 --> <a:screen xmlns:a="http://www.leaf-framework.org/application" xmlns:s="leaf.plugin.script" trace="true"> <a:view package="leaf.ui.std" template="default"> <a:link id="con_contract_et_calculate_link" url="${/request/@context_path}/modules/cont/CON701/con_contract_et_calculate.lsc"/> <a:link id="con_contract_et_save_link" model="cont.CON701.con_contract_et_save" modelaction="execute"/> <a:link id="con_contract_et_submit_link" model="cont.CON701.con_contract_et_submit" modelaction="execute"/> <a:link id="attachment_et_link" model="cont.CON701.con_contract_attachment_et" modelaction="update"/> <script src="${/request/@context_path}/javascripts/calculate.js" type="text/javascript"/> <a:link id="con_contract_status" model="cont.CON702.con_contract_status" modelaction="update"/> <div/> <script type="text/javascript"><![CDATA[div var save_flag = false; function Screen_exit() { $('${/parameter/@winId}').close(); } function contractCreateScreen_calculate() { var record = $('contractQueryScreen_mainDs').getCurrentRecord(), et_ds = $('early_terminationDs'); var et_record = et_ds.getAt(0); var et_agreement_id; if (et_record.data.et_agreement_id){ et_agreement_id = et_record.data.et_agreement_id; } if (record.validateRecord(true)) { var termination_date = Leaf.formatDate(record.get ('termination_date')); var contract_id = record.get('contract_id'); //sql里面设定了 et_type = ET var et_type = record.get('et_type'); //和后端匹配,控制一种结清方式 var et_profile = "PRI_BAL_STD"; Leaf.Masker.mask($('${/parameter/@winId}').wrap, '正在处理...'); Leaf.request({ url: $('con_contract_et_calculate_link').getUrl(), para: { termination_date: termination_date, contract_id: contract_id, et_agreement_id : et_agreement_id, et_type: et_type, et_profile: et_profile }, success: function(args) { var et_agreement_id = args.result.et_agreement_id; et_ds.setQueryParameter('et_agreement_id', et_agreement_id); et_ds.query(); $('cashflowPlanDs').setQueryParameter('et_agreement_id', et_agreement_id); $('cashflowPlanDs').query(); document.getElementById("detail_flag_id").style.display = ""; Leaf.Masker.unmask($('${/parameter/@winId}').wrap); }, failure: function() { Leaf.Masker.unmask($('${/parameter/@winId}').wrap); }, error: function() { Leaf.Masker.unmask($('${/parameter/@winId}').wrap); }, scope: this }); } } function et_save(value) { var et_ds = $('early_terminationDs'), et_record = et_ds.getAt(0); var et_agreement_id = et_record.get('et_agreement_id'); if (et_agreement_id) { var deposit_deduction_flag = et_record.get('deposit_deduction_flag'); var deposit_by_agent = et_record.get('deposit_by_agent'); var ref_n04 = et_record.get('ref_n04'); var ref_n05 = et_record.get('ref_n05'); var remittance_date = et_record.get('remittance_date'); var remittance_amount = et_record.get('remittance_amount'); var reduce_period_interest = et_record.get('reduce_period_interest'); var reduce_residual_value = et_record.get('reduce_residual_value'); var deposit = et_record.get('deposit'); var third_party_deposit = et_record.get('third_party_deposit'); var note_s = et_record.get('note_s'); var cost_reduction = et_record.get('cost_reduction'); Leaf.Masker.mask($('${/parameter/@winId}').wrap, '正在处理...'); Leaf.request({ url: $('con_contract_et_save_link').getUrl(), para: { et_agreement_id: et_agreement_id, deposit_deduction_flag : deposit_deduction_flag, deposit_by_agent:deposit_by_agent, ref_n04: ref_n04, ref_n05: ref_n05, reduce_residual_value:reduce_residual_value, reduce_period_interest:reduce_period_interest, deposit: deposit, third_party_deposit:third_party_deposit, note_s: note_s, cost_reduction: cost_reduction, remittance_date: remittance_date, remittance_amount: remittance_amount }, success: function(args) { save_flag = true; if (value == 'sub') { et_submit(); } else if (value === 'calc') { contractCreateScreen_calculate(); } else { et_ds.setQueryParameter('et_agreement_id', et_agreement_id); et_ds.query(); $('cashflowPlanDs').setQueryParameter('et_agreement_id', et_agreement_id); $('cashflowPlanDs').query(); Leaf.SideBar.show({ msg: '保存成功', duration: 2000 }); } Leaf.Masker.unmask($('${/parameter/@winId}').wrap); }, failure: function() { Leaf.Masker.unmask($('${/parameter/@winId}').wrap); }, error: function() { Leaf.Masker.unmask($('${/parameter/@winId}').wrap); }, scope: this }); } else { Leaf.showWarningMessage('提示', '请先测算!'); } } function post(xml) { Leaf.request({ url: '${/request/@context_path}/doodream/post/url', para: { xml: xml }, success: function(res) { window.open(res.message, "", "width=940, height=650, scrollbars=yes, toolbar=no, location=no, status=no, menubar=no"); Leaf.SideBar.show({ msg: '${l:HLS.SUBMIT_SUCCESS}', duration: 2000 }); }, failure: function() { Leaf.SideBar.show({ msg: 'failure', duration: 2000 }); }, error: function() { Leaf.SideBar.show({ msg: 'error', duration: 2000 }); }, scope: this }); } //调用doodream 审批接口 function et_submit() { var et_ds = $('early_terminationDs'), et_record = et_ds.getAt(0); var ref_n04 = et_record.get('ref_n04'); var ref_n05 = et_record.get('ref_n05'); var int_rate_display = et_record.get('int_rate_display'); var win = Leaf.showConfirm('${l:HLS.PROMPT}', '确定要提交?', function() { Leaf.Masker.mask($('${/parameter/@winId}').wrap, '正在处理...'); if (ref_n04 == 0 && ref_n05 == 0) { Leaf.request({ url: $('con_contract_status').getUrl(), para: { et_agreement_id: et_record.get('et_agreement_id') }, success: function (args) { Leaf.showMessage('${l:PROMPT}', '提交成功'); }, failure: function () { }, error: function () { }, scope: this, sync: true }); } else if (et_record) { var et_agreement_id = et_record.get('et_agreement_id'); Leaf.request({ url: $('con_contract_et_submit_link').getUrl(), para: { et_agreement_id: et_agreement_id }, success: function(args) { // //post xml to doodream post(args.result.xml); Leaf.Masker.unmask($('${/parameter/@winId}').wrap); }, failure: function() { Leaf.Masker.unmask($('${/parameter/@winId}').wrap); }, error: function() { Leaf.Masker.unmask($('${/parameter/@winId}').wrap); }, scope: this }); } else { Leaf.showMessage('提示', '请先测算!'); Leaf.Masker.unmask($('${/parameter/@winId}').wrap); } }, function() { Leaf.Masker.unmask($('${/parameter/@winId}').wrap); }); win.addListener('close', function() { Leaf.Masker.unmask($('${/parameter/@winId}').wrap); }); } function et_submit_entrance() { et_save(); var et_ds = $('early_terminationDs'), et_record = et_ds.getAt(0); var et_agreement_id = et_record.get('et_agreement_id'); Leaf.Masker.mask($('${/parameter/@winId}').wrap, '正在处理...'); Leaf.request({ url: $('attachment_et_link').getUrl(), para: { table_name: 'CON_CONTRACT_ET_HD', table_pk_value: et_agreement_id }, success: function(res) { var attachment_num = res.result.attachment_num; if (attachment_num == 0) { et_save('sub'); } else { et_save('sub'); } }, failure: function() { }, error: function() { }, scope: this }); } function et_calc_entrance() { if (save_flag) { et_save('calc'); } else { contractCreateScreen_calculate(); } } ]]></script> <a:dataSets> <a:dataSet id="deposit_deduction_ds" lookupCode="YES_OR_NO"/> <a:dataSet id="early_terminationDs" autoCreate="true" model="cont.CON701.con_contract_et_hd"> <a:fields> <a:field name="deposit_deduction_flag"/> <a:field name="deposit_deduction_flag_desc" displayField="code_value_name" options="deposit_deduction_ds" returnField="deposit_deduction_flag" valueField="code_value"/> <a:field name="deposit_by_agent"/> <a:field name="deposit_by_agent_n" displayField="code_value_name" options="deposit_deduction_ds" returnField="deposit_by_agent" valueField="code_value"/> </a:fields> </a:dataSet> <a:dataSet id="cashflowPlanDs" autoPageSize="true" model="cont.CON701.contract_et_cashflow_ln"> <a:fields> <a:field name="due_date" datatype="date"/> </a:fields> </a:dataSet> </a:dataSets> <a:screenBody> <a:screenTopToolbar> <a:gridButton click="Screen_exit" text="关闭"/> <a:gridButton click="et_calc_entrance" text="测算"/> <a:gridButton click="et_save" text="HLS.SAVE"/> <a:gridButton click="et_submit_entrance" text="提交"/> </a:screenTopToolbar> <a:form column="4" labelWidth="110" marginWidth="30" title="基础信息"> <a:textField name="contract_number" bindTarget="contractQueryScreen_mainDs" prompt="合同编号" readOnly="true"/> <a:textField name="bp_name" bindTarget="contractQueryScreen_mainDs" prompt="承租人名称" readOnly="true"/> <a:textField name="bp_agent" bindTarget="contractQueryScreen_mainDs" prompt="代理商名称" readOnly="true"/> <a:datePicker name="termination_date" bindTarget="contractQueryScreen_mainDs" prompt="中途偿还基准日期" renderer="Leaf.formatDate"/> </a:form> <div id="detail_flag_id"> <a:form title="结清信息"> <a:form column="4" labelWidth="110" marginWidth="30"> <a:numberField name="undue_principal" allowDecimals="true" allowFormat="true" bindTarget="early_terminationDs" decimalPrecision="2" prompt="未到期本金" readOnly="true"/> <a:numberField name="ref_n01" allowDecimals="true" allowFormat="true" bindTarget="early_terminationDs" decimalPrecision="2" prompt="逾期本金" readOnly="true"/> <a:numberField name="ref_n02" allowDecimals="true" allowFormat="true" bindTarget="early_terminationDs" decimalPrecision="2" prompt="逾期分期手续费" readOnly="true"/> <a:numberField name="ref_n08" allowDecimals="true" allowFormat="true" bindTarget="early_terminationDs" decimalPrecision="2" prompt="预付金额" readOnly="true"/> <a:numberField name="ref_n03" allowDecimals="true" allowFormat="true" bindTarget="early_terminationDs" decimalPrecision="2" prompt="期间利息" readOnly="true"/> <a:numberField name="ref_n06" allowDecimals="true" allowFormat="true" bindTarget="early_terminationDs" decimalPrecision="2" prompt="逾期利息" readOnly="true"/> <a:numberField name="ref_n07" allowDecimals="true" allowFormat="true" bindTarget="early_terminationDs" decimalPrecision="2" prompt="未到期分期手续费" readOnly="true"/> <a:numberField name="et_total_amount" allowDecimals="true" allowFormat="true" bindTarget="early_terminationDs" decimalPrecision="2" prompt="中途偿还结清总金额" readOnly="true"/> <a:numberField name="et_fee" allowDecimals="true" allowFormat="true" bindTarget="early_terminationDs" decimalPrecision="2" prompt="中途偿还手续费" readOnly="true"/> <a:numberField name="penalty" allowDecimals="true" allowFormat="true" bindTarget="early_terminationDs" decimalPrecision="2" prompt="罚息" readOnly="true"/> <a:numberField name="residual_value" allowDecimals="true" allowFormat="true" bindTarget="early_terminationDs" decimalPrecision="2" prompt="留购金" readOnly="true"/> <a:numberField name="deferred_interest" allowDecimals="true" allowFormat="true" bindTarget="early_terminationDs" decimalPrecision="2" prompt="延期利息" readOnly="true"/> <a:numberField name="ref_n05" allowDecimals="true" allowFormat="true" bindTarget="early_terminationDs" decimalPrecision="2" prompt="中途偿还手续费减免金额"/> <a:numberField name="ref_n04" allowDecimals="true" allowFormat="true" bindTarget="early_terminationDs" decimalPrecision="2" prompt="罚息减免金额"/> <a:numberField name="deposit" allowDecimals="true" allowFormat="true" bindTarget="early_terminationDs" decimalPrecision="2" prompt="客户保证金" readOnly="true"/> <a:comboBox name="deposit_deduction_flag_desc" bindTarget="early_terminationDs" prompt="客户保证金是否抵扣"/> <a:numberField name="reduce_period_interest" allowDecimals="true" allowFormat="true" bindTarget="early_terminationDs" decimalPrecision="2" prompt="期间利息减免金额" /> <a:numberField name="reduce_residual_value" allowDecimals="true" allowFormat="true" bindTarget="early_terminationDs" decimalPrecision="2" prompt="留购金减免金额" /> <a:numberField name="third_party_deposit" allowDecimals="true" allowFormat="true" bindTarget="early_terminationDs" decimalPrecision="2" prompt="代理商代付保证金金额" readOnly="true"/> <a:comboBox name="deposit_by_agent_n" bindTarget="early_terminationDs" prompt="代理商代付保证金是否抵扣" /> <a:datePicker name="remittance_date" bindTarget="early_terminationDs" prompt="汇款日期" readOnly="false" renderer="Leaf.formatDate"/> <a:numberField name="remittance_amount" allowDecimals="true" allowFormat="true" bindTarget="early_terminationDs" decimalPrecision="2" prompt="汇款金额" readOnly="false"/> </a:form> <a:form column="1" labelWidth="110" marginWidth="30"> <a:textArea name="note_s" width="800" bindTarget="early_terminationDs" prompt="申请原因说明/背景"/> <a:textArea name="cost_reduction" width="800" bindTarget="early_terminationDs" prompt="费用减免说明"/> </a:form> <a:tabPanel marginHeight="400" marginWidth="30"> <a:tabs> <a:tab prompt="资金计划" width="110"> <a:grid bindTarget="cashflowPlanDs" marginHeight="430" marginWidth="100" navBar="true"> <a:columns> <a:column name="times" prompt="期数" align="center"/> <a:column name="cf_item_n" prompt="现金流类型" align="center"/> <a:column name="due_date" prompt="预定支付日期" align="center" renderer="Leaf.formatDate"/> <a:column name="due_amount" align="right" prompt="应收金额" renderer="Leaf.formatMoney"/> <a:column name="received_amount" align="right" prompt="已收金额" renderer="Leaf.formatMoney"/> <a:column name="received_principal" align="right" prompt="已收本金" renderer="Leaf.formatMoney"/> <a:column name="received_interest" align="right" prompt="已收利息" renderer="Leaf.formatMoney"/> <a:column name="cf_status_n" prompt="现金流状态" align="center"/> </a:columns> </a:grid> </a:tab> </a:tabs> </a:tabPanel> </a:form> </div> </a:screenBody> <script type="text/javascript"><![CDATA[ Leaf.onReady(init); function init() { var record = $('contractQueryScreen_mainDs').getCurrentRecord(); record.getField('contract_number').setReadOnly(true); record.getField('contract_name').setReadOnly(true); record.getField('received_times').setReadOnly(true); document.getElementById("detail_flag_id").style.display = "none"; } ]]></script> </a:view> </a:screen>