<?xml version="1.0" encoding="UTF-8"?> <!-- $Author: Eugene Song $ $Date: 2018年11月2日10:19:17 $ $Revision: 1.1 $ $Purpose: 网银代扣管理 --> <a:screen xmlns:a="http://www.leaf-framework.org/application"> <a:init-procedure> <a:model-query model="basic.get_sys_default_time" rootPath="create_date_path"/> </a:init-procedure> <a:view> <a:link id="hls_ebank_create_link" model="ccb.CCB600.hls_ebank_batch" modelaction="execute"/> <a:link id="hls_ebank_create_lsc_link" url="${/request/@context_path}/modules/ccb/CCB600/ccb_ebank_create.lsc" modelaction="insert"/> <a:link id="ebank_detail_link" url="${/request/@context_path}/modules/ccb/CCB600/ccb_ebank_detail.lview"/> <script type="text/javascript"><![CDATA[ function create_batch() { var ds = $('hls_ccb_form_create_ds'); var ln_ds = $('hls_ccb_grid_ln_ds'); if(ln_ds.getAll().length == 0){ Leaf.showInfoMessage("提示","请先查询需要扣款的合同"); return; } if (ds.validate() && ln_ds.validate()) { var record = $('hls_ccb_form_create_ds').getAt(0); var params = {}; params._status = 'insert'; params.bank_account_id = record.get('bank_account_id'); params.merger_rules = record.get('merger_rules'); params.pay_method = record.get('pay_method'); params.due_date = record.get('due_date'); //处理行 var details = []; var ln_r = ln_ds.getAll(); for(var i=0;i<ln_r.length;i++){ var r = ln_r[i].data; r._status = 'insert'; details.push(r); } params.details = details; Leaf.Masker.mask(Ext.getBody(), '生成中...'); //锁屏 Leaf.request({ url: $('hls_ebank_create_lsc_link').getUrl(), para: params, success: function (res) { Leaf.SideBar.show({ msg: '操作成功', duration: 2000 }); Leaf.Masker.unmask(Ext.getBody()); //解锁 $('create_ebank_link_winId').close(); // $('hls_ccb_grid_create_ds').setQueryParameter('batch_id', res.result.batch_id); // $('hls_ccb_grid_create_ds').query(); }, failure: function () { Leaf.Masker.unmask(Ext.getBody()); //解锁 }, error: function () { Leaf.Masker.unmask(Ext.getBody()); //解锁 }, scope: this }); } } function reset_batch() { $('hls_ccb_form_create_ds').reset(); } function return_batch() { $('${/parameter/@winid}').close(); } function batch_detail_renderer(value ,record,name) { return '<a href="javascript:open_batch_detail_window(' + record.get('hd_id') + ')">' + '${l:PROMPT.DETAIL}' + '</a>'; } function open_batch_detail_window(hd_id){ var win = new Leaf.Window({ id: 'batch_link_winId', url: $('ebank_detail_link').getUrl(), params: { hd_id: hd_id, winid: 'batch_link_winId' }, title: '代扣指令明细', draggable: true, width: 900, height: 680 }); } function ccb_form_update_fun(ds,record,name,value,oldvalue){ if(name == "pay_method"){ if(value){ $('hls_ccb_form_query_ds').getField('contract_number').setLovPara("pay_method",value); $('hls_ccb_grid_ln_ds').setQueryParameter("pay_method",value); } } } function hls_ccb_grid_ln_query(){ $('hls_ccb_grid_ln_ds').query(); } function colum_caculateTotal(data, name) { var total = 0; var length = data.length; var value = 0; for (var i = 0;i < length;i++) { if (Ext.isEmpty(data[i].get(name))) { value = 0; } else { value = data[i].get(name); } total = plus(total, value); } return '<font color=red>' + Leaf.formatMoney(total) + '</font>'; } function sumAmount(record,name){ if(name == 'cf_item_desc'){ return '<font color=red>合计:</font>'; } if(name == 'due_amount' || name == 'manual_amount'){ return '<font color=red>' + colum_caculateTotal(record,name) + '</font>'; } } function check_manual_amount(record, name, value){ if(value > record.get('due_amount')){ Leaf.showInfoMessage("提示","扣款金额不能大于应付金额"); return false; } return true; } function hls_ccb_form_update(ds,record,name,value,oldvalue){ if(name == 'due_date_to'){ var r =$('hls_ccb_form_create_ds').getCurrentRecord(); if(r){ r.set('due_date',value); } } } function created_date(cell,date,text){ debugger; v_date = new Date().format('yyyy-mm-dd'); //获取当前时间日期 v_dates = date.format('yyyy-mm-dd'); //页面中选择的时间日期 if(v_dates > v_date){ //比较当前时间和选择的时间 cell.disabled = true; //不可选择打开 } } ]]></script> <a:dataSets> <a:dataSet id="pay_methods_ds"> <a:datas> <!-- <a:record code_value="AGRI_THREE" code_value_name="农行扣款(三方)"/>--> <a:record code_value="CCB_THREE" code_value_name="建行扣款(三方)"/> <!-- <a:record code_value="AGRI_TWO" code_value_name="农行扣款(两方)"/>--> </a:datas> </a:dataSet> <a:dataSet id="hls_ccb_form_query_ds"> <a:fields> <a:field name="due_date_from" /> <a:field name="due_date_to" required="true" defaultValue="${/model/create_date_path/record/@now_date}" /> <a:field name="bp_agent_name" lovGridHeight="350" lovHeight="550" lovLabelWidth="50" lovWidth="550" autoComplete="true" autoCompleteField="bp_agent_name" lovService="basic.hls_bp_master_v_for_lov?bp_category=AGENT" title="HLS.BP_TITLE"> <a:mapping> <a:map from="bp_id" to="bp_id_agent"/> <a:map from="bp_name" to="bp_agent_name"/> </a:mapping> </a:field> <a:field name="bp_tenant_name" lovGridHeight="350" lovHeight="550" lovLabelWidth="50" lovWidth="550" autoComplete="true" autoCompleteField="bp_name" lovService="ccb.CCB600.hls_bp_master_v_for_lov?bp_category=TENANT" title="HLS.BP_TITLE"> <a:mapping> <a:map from="bp_id" to="bp_id_tenant"/> <a:map from="bp_name" to="bp_tenant_name"/> </a:mapping> </a:field> <a:field name="bp_id_agent" /> <a:field name="bp_id_tenant"/> <a:field name="contract_number" lovGridHeight="350" lovHeight="500" lovService="ccb.CCB600.con_contract_lov?pay_method=CCB_THREE" lovWidth="470" title="合同"> <a:mapping> <a:map from="contract_id" to="contract_id"/> <a:map from="contract_number" to="contract_number"/> </a:mapping> </a:field> <a:field name="contract_id"/> <a:field name="cf_item_desc" lovGridHeight="300" lovHeight="500" lovService="hls.HLS005.hls_cashflow_item_v_lov" lovWidth="850" title="HLS005.HLS_CASHFLOW_ITEM.CF_ITEM"> <a:mapping> <a:map from="cf_item" to="cf_item"/> <a:map from="cf_item_desc" to="cf_item_desc"/> </a:mapping> </a:field> <a:field name="cf_item"/> </a:fields> <a:events> <a:event name="update" handler="hls_ccb_form_update"/> </a:events> </a:dataSet> <a:dataSet id="hls_ccb_form_create_ds" autoCreate="true"> <a:fields> <a:field name="bank_account_num" autoComplete="true" lovGridHeight="350" lovHeight="550" lovService="ccb.CCB600.hls_ebank_bank" lovWidth="1000" required="true" title="银行账户" prompt="银行账户"> <a:mapping> <a:map from="bank_account_name" to="bank_account_name"/> <a:map from="bank_account_num" to="bank_account_num"/> <a:map from="bank_short_name" to="bank_name"/> <a:map from="bank_account_id" to="bank_account_id"/> <a:map from="currency_code" to="currency"/> <a:map from="currency_name" to="currency_name"/> </a:mapping> </a:field> <a:field name="currency_name" readOnly="true"/> <a:field name="pay_method_desc" defaultValue="建行扣款(三方)" required="true" prompt="支付方式" displayField="code_value_name" options="pay_methods_ds" returnField="pay_method" valueField="code_value"/> <a:field name="pay_method" defaultValue="CCB_THREE"/> <a:field name="bank_account_name" readOnly="true"/> <a:field name="bank_name" readOnly="true"/> <a:field name="currency" readOnly="true"/> <a:field name="due_date" datatype="date" defaultValue="${/model/create_date_path/record/@now_date}" required="true" prompt="应收日期"/> <a:field name="merger_rules" defaultValue="CUSTOMER"/> <!-- <a:field name="merger_rules" defaultValue="CONTRACT"/>--> </a:fields> <a:events> <a:event name="update" handler="ccb_form_update_fun"/> </a:events> </a:dataSet> <a:dataSet id="hls_ccb_grid_create_ds" model="ccb.CCB600.hls_ebank_batch_hd" pageSize="15" queryUrl="${/request/@context_path}/autocrud/ccb.CCB600.hls_ebank_batch_hd/query" selectable="true"> </a:dataSet> <a:dataSet id="hls_ccb_grid_ln_ds" fetchAll="true" queryDataSet="hls_ccb_form_query_ds" model="ccb.CCB600.hls_ebank_batch_ln" queryUrl="${/request/@context_path}/autocrud/ccb.CCB600.con_contract_cashflow_query/query?pay_method=CCB_THREE"> <a:fields> <a:field name="cashflow_id"/> <a:field name="bp_tenant_name" readOnly="true"/> <a:field name="contract_id"/> <a:field name="contract_number" readOnly="true"/> <a:field name="times" readOnly="true"/> <a:field name="cf_item" readOnly="true"/> <a:field name="due_amount" readOnly="true"/> <a:field name="manual_amount" datatype="java.lang.Double" required="true" prompt="扣款金额" validator="check_manual_amount"/> <a:field name="description"/> </a:fields> </a:dataSet> </a:dataSets> <a:screenBody> <a:screenTopToolbar height="29"> <a:gridButton click="hls_ccb_grid_ln_query" text="查询"/> <a:gridButton click="create_batch" text="指令生成"/> <a:gridButton click="reset_batch" text="重置"/> <a:gridButton click="return_batch" text="返回"/> </a:screenTopToolbar> <a:fieldSet title="本方账户" column="3"> <a:lov name="bank_account_num" bindTarget="hls_ccb_form_create_ds" prompt="银行账户"/> <a:textField name="bank_account_name" bindTarget="hls_ccb_form_create_ds" prompt="账户名"/> <a:textField name="bank_name" bindTarget="hls_ccb_form_create_ds" prompt="银行"/> <a:comboBox name="pay_method_desc" bindTarget="hls_ccb_form_create_ds" prompt="支付方式"/> <a:textField name="currency_name" bindTarget="hls_ccb_form_create_ds" prompt="币种"/> </a:fieldSet> <a:fieldSet title="合并规则" column="2"> <a:radio name="merger_rules" bindTarget="hls_ccb_form_create_ds" layout="horizontal" width="600"> <a:items> <!-- <a:item label="按合同" value="CONTRACT"/>--> <!-- <a:item label="按期数" value="TIMES"/>--> <a:item label="按客户" value="CUSTOMER"/> <!-- <a:item label="不合并" value="NONE"/>--> </a:items> </a:radio> </a:fieldSet> <a:fieldSet title="查询条件" column="3"> <!-- <a:datePicker name="due_date_from" bindTarget="hls_ccb_form_query_ds" prompt="付款日期从"/>--> <a:datePicker name="due_date_to" bindTarget="hls_ccb_form_query_ds" prompt="付款日期到" dayRenderer="created_date" /> <a:lov name="bp_agent_name" bindTarget="hls_ccb_form_query_ds" prompt="代理店"/> <a:lov name="bp_tenant_name" bindTarget="hls_ccb_form_query_ds" prompt="客户名称"/> <a:lov name="contract_number" bindTarget="hls_ccb_form_query_ds" prompt="合同号"/> <!-- <a:lov name="cf_item_desc" bindTarget="hls_ccb_form_query_ds" prompt="现金流类型"/>--> <!-- <a:numberField name="payment_amount_from" bindTarget="hls_ccb_form_create_ds" prompt="付款金额从"/>--> <!-- <a:numberField name="payment_amount_to" bindTarget="hls_ccb_form_create_ds" prompt="付款金额到"/>--> </a:fieldSet> <!-- <a:grid id="hls_ccb_create_grid" bindTarget="hls_ccb_grid_create_ds" height="300" width="800" navBar="true">--> <!-- <a:columns>--> <!-- <a:column name="num" align="left" prompt="序号" width="80"/>--> <!-- <a:column name="detail" align="center" prompt="明细" renderer="batch_detail_renderer" width="100"/>--> <!-- </a:columns>--> <!-- </a:grid>--> <a:grid id="hls_ccb_ln_grid" bindTarget="hls_ccb_grid_ln_ds" height="340" width="850" navBar="true"> <a:columns> <a:column name="bp_tenant_name" prompt="客户名称" align="center" /> <a:column name="bank_account_num" prompt="扣款账号"/> <a:column name="contract_number" prompt="合同号" align="center" /> <a:column name="times" prompt="期数" align="center"/> <a:column name="due_date" prompt="应付日期" align="center" renderer="Leaf.formatDate"/> <a:column name="cf_item_desc" prompt="现金流类型" align="center" footerRenderer="sumAmount"/> <a:column name="due_amount" prompt="应收金额" align="right" renderer="Leaf.formatMoney" footerRenderer="sumAmount"/> <a:column name="manual_amount" prompt="扣款金额" editor="hls_ccb_ln_grid_nf" align="right" renderer="Leaf.formatMoney" footerRenderer="sumAmount"/> <a:column name="description" prompt="备注" editor="hls_ccb_ln_grid_tf" width="200" /> </a:columns> <a:editors> <a:numberField id="hls_ccb_ln_grid_nf"/> <a:textField id="hls_ccb_ln_grid_tf"/> </a:editors> </a:grid> <!-- <a:fieldSet title="应收日期" column="2">--> <!-- <a:datePicker name="due_date" bindTarget="hls_ccb_form_create_ds" prompt="应收日期"/>--> <!-- </a:fieldSet>--> </a:screenBody> </a:view> </a:screen>