<?xml version="1.0" encoding="UTF-8"?>
<!--
    $Author: wangwei5743  
    $Date: 2015-11-18 下午3:43:19  
    $Revision: 1.0  
    $Purpose: 还款明细
-->
<a:screen xmlns:a="http://www.leaf-framework.org/application" customizationEnabled="true" dynamiccreateenabled="true"
          trace="true">
    <a:view>
        <a:link id="tre507_create_repayment_line_link_id"
                url="${/request/@context_path}/modules/tre/TRE507/tre_loan_contract_repayment_create.lsc"/>
        <a:link id="tre507_create_repayment_link_id" model="tre.TRE507.create_loan_repayment" modelaction="execute"/>
        <a:link id="con_contract_get_layout_code_link1_id" model="cont.CON500.con_contract_get_layout_code"
                modelaction="update"/>
        <a:link id="con_contract_modify_link"
                url="${/request/@context_path}/modules/cont/CON505/con_contract_modify.lview"/>
        <a:link id="tre_repay_apply_info_link_id"
                url="${/request/@context_path}/modules/tre/TRE507/tre_repay_apply_info.lview"/>
        <script type="text/javascript"><![CDATA[


        //下一步
        window['${/parameter/@layout_code}_user_button1_layout_dynamic_click'] = function () {

            window['${/parameter/@layout_code}_lock_layout_dynamic_window']();
            var repayment_plan_ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'tre_loan_con_repayment_plan');
            var records = $(repayment_plan_ds_id).getSelected();
            if (!records.length) {
                Leaf.showMessage('${l:PROMPT}', '请至少选择一条还款记录!');
                window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                return;

            }
            var amount=0;
            for (var j = 0; j < records.length; j++) {
                amount = records[j].get('charge_balance_amt')+amount;
            }
            Leaf.showConfirm('${l:PROMPT}', '是否确认发起还款创建?', function () {
                Leaf.request({
                    url: $('tre507_create_repayment_link_id').getUrl(),
                    para: {
                        loan_contract_id: '${/parameter/@loan_contract_id}',
                        widthdrawal_plan_id: '${/parameter/@widthdrawal_plan_id}',
                        amount:amount
                    },
                    success: function (res) {
                        var repayment_id = res.result.repayment_id;
                        var saveData = [];
                        var param1={};
                        for (var i = 0; i < records.length; i++) {
                            var record;
                            record = records[i];
                            if(record.get('charge_balance_amt') == 0){
                                Leaf.showMessage('${l:HLS.PROMPT}', '申请金额为0,不足以发起申请!');
                                window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                                return;
                            }
                            record.set('_status', 'update');
                            record.set('repayment_id', repayment_id);
                            record.set('repayment_plan_id', record.get('repayment_plan_id'));
                            record.set('charge_balance_amt', record.get('charge_balance_amt'));

                            saveData.push(record.data);
                        }
                        param1['details'] = saveData;
                        Leaf.request({
                            url: $('tre507_create_repayment_line_link_id').getUrl(),
                            para: param1,
                            success: function () {
                                var param = {};
                                param['function_code'] = 'TRE_APPLY';
                                param['url_title'] = '还款申请信息';
                                param['function_usage'] = 'MODIFY';
                                param['repayment_id'] = repayment_id;
                                param['winid'] = 'con_withdrawal_plan_winid';
                                hls_doc_get_layout_code('con_contract_get_layout_code_link1_id', param, 'tre_repay_apply_info_link_id', repayment_plan_ds_id, '${/parameter/@layout_code}');
                                window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                            },
                            failure: function () {
                                window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                            },
                            error: function () {
                                window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                            },
                            scope: this
                        });
                    },
                    failure: function () {
                        window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                    },
                    error: function () {
                        window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                    },
                    scope: this
                });
            }, function () {
                window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                return;
            }, null, null);

        };

        //生成抵扣凭证
        window['${/parameter/@layout_code}_user_button2_layout_dynamic_click'] = function () {

            window['${/parameter/@layout_code}_lock_layout_dynamic_window']();
            var repayment_plan_ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'tre_loan_con_repayment_plan');
            var records = $(repayment_plan_ds_id).getSelected();
            if (!records.length) {
                Leaf.showMessage('${l:PROMPT}', '请至少选择一条还款记录!');
                window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                return;

            }
            var amount=0;
            for (var j = 0; j < records.length; j++) {
                amount = records[j].get('charge_balance_amt')+amount;
            }
            Leaf.showConfirm('${l:PROMPT}', '是否生成抵扣凭证?', function () {
                Leaf.request({
                    url: $('tre507_create_repayment_link_id').getUrl(),
                    para: {
                        loan_contract_id: '${/parameter/@loan_contract_id}',
                        widthdrawal_plan_id: '${/parameter/@widthdrawal_plan_id}',
                        amount:amount
                    },
                    success: function (res) {

                        var repayment_id = res.result.repayment_id;
                        var saveData = [];
                        var param1={};
                        for (var i = 0; i < records.length; i++) {
                            var record;
                            record = records[i];
                           if(record.get('deduction_amount') == 0){
                               Leaf.showMessage('${l:HLS.PROMPT}', '抵扣金额为0,不足以发起申请!');
                               window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                               return;
                           }
                            record.set('_status', 'update');
                            record.set('repayment_id', repayment_id);
                            record.set('repayment_plan_id', record.get('repayment_plan_id'));
                            record.set('charge_balance_amt', record.get('charge_balance_amt'));

                            saveData.push(record.data);
                        }
                        param1['details'] = saveData;
                        Leaf.request({
                            url: $('tre507_create_repayment_line_link_id').getUrl(),
                            para: param1,
                            success: function () {
//                                var param = {};
//                                param['function_code'] = 'TRE_APPLY';
//                                param['url_title'] = '还款申请信息';
//                                param['function_usage'] = 'MODIFY';
//                                param['repayment_id'] = repayment_id;
//                                param['winid'] = 'con_withdrawal_plan_winid';
//                                hls_doc_get_layout_code('con_contract_get_layout_code_link1_id', param, 'tre_repay_apply_info_link_id', repayment_plan_ds_id, '${/parameter/@layout_code}');
                                window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                                Leaf.showMessage('${l:HLS.PROMPT}', '操作成功');
                            },
                            failure: function () {
                                window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                            },
                            error: function () {
                                window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                            },
                            scope: this
                        });
                    },
                    failure: function () {
                        window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                    },
                    error: function () {
                        window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                    },
                    scope: this
                });
            }, function () {
                window['${/parameter/@layout_code}_unlock_layout_dynamic_window']();
                return;
            }, null, null);

        };


        //超链接渲染
        window['${/parameter/@layout_code}_dynamic_link_renderer'] = function (value, record, name, config_record) {
            window['${/parameter/@layout_code}_hls_link_render_record'][record.id + '---' + name] = record;
            if (name == 'detail') {
                link_function = 'detail_link';
                if (record.get('contract_id')) {
                    return '<a href="javascript:window[\'' + link_function + '\'](\'' + record.id + '\',\'' + name + '\',\'' + config_record.get('query_only') + '\');">' + config_record.get('prompt') + '</a>';
                } else {
                    return '';
                }
            } else {
                return '';
            }
        };

        function detail_link(id, name, query_only) {
            var record = window['${/parameter/@layout_code}_hls_link_render_record'][id + '---' + name];
            var contract_id = record.get('contract_id');
            var param = record.data;
            param['function_code'] = 'CON301';
            param['url_title'] = '${l:CON301.CONTRACT_DETAIL}';
            param['function_usage'] = 'QUERY';
            param['contract_id'] = contract_id;
            param['winid'] = 'con301_contract_query_winid';
            hls_doc_get_layout_code('con_contract_get_layout_code_link1_id', param, 'con_contract_modify_link', '${/parameter/@layout_code}');
        }

        ]]></script>
        <a:screen-include screen="modules/cont/CON500/con_contract_get_layout_code.lview"/>
    </a:view>
</a:screen>