<?xml version="1.0" encoding="UTF-8"?>
<!--
  create by nyl  2014-12-3 
  for contract context create
-->
<a:screen xmlns:a="http://www.leaf-framework.org/application" customizationEnabled="true" dynamiccreateenabled="true" trace="true">
    <a:init-procedure>
        <a:model-query defaultWhereClause="t1.function_code = ${/parameter/@function_code}" model="cus.CUS100.cus_default_function_name" rootPath="default_function_name"/>
    </a:init-procedure>
    <a:view>
        <a:link id="con638_get_layout_code_link_id" model="cont.CON500.con_contract_get_layout_code" modelaction="update"/>
        <a:link id="con643_submit_link" model="leg.LEG810.cus_rpt_leg810_submit_rpt" modelaction="execute"/>
        <a:link id="con643_get_control_id_link" model="leg.LEG810.checkin_rpt" modelaction="execute"/>
        <a:link id="con643_refresh_link" model="db.rpt_report_control_pkg.refresh_rpt" modelaction="execute"/>
        <script type="text/javascript"><![CDATA[
            var g_control_id;
            var g_calc_date;
            
            function eg_rpt100_detail_query() {
            
                var ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'con_contract');
            
                $(ds_id).query();
            }
            
            function eg_rpt100_head_query() {
                var rpt_ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'rpt_report_control');
                $(rpt_ds_id).setQueryParameter('control_id', g_control_id);
                $(rpt_ds_id).query();
            
            }
            
            function eg_rpt100_status_find(control_id) {
                Leaf.Masker.mask(Ext.getBody(), '${l:HLS.EXECUTING}');
                Leaf.request({
                    url: $('con643_refresh_link').getUrl(),
                    para: {
                        'control_id': control_id
                    },
                    success: function(res) {
                        Leaf.Masker.unmask(Ext.getBody());
                        if (res.result.job_stauts == 'FINISH') {
                            eg_rpt100_head_query();
                            eg_rpt100_detail_query();
                        }
                        eg_rpt100_head_query();
                    },
                    failure: function() {
                        Leaf.Masker.unmask(Ext.getBody());
                    },
                    error: function() {
                        Leaf.Masker.unmask(Ext.getBody());
                    },
                    scope: this
                });
            }
            
            function eg_rpt100_submit(control_id) {
            
                //var control_id = $('con643_head_ds').getAt(0).get('control_id');
                Leaf.Masker.mask(Ext.getBody(), '${l:HLS.EXECUTING}');
                Leaf.request({
                    url: $('con643_submit_link').getUrl(),
                    para: {
                        'control_id': control_id,
                        'calc_date': g_calc_date
                    },
                    success: function(res) {
                        Leaf.Masker.unmask(Ext.getBody());
                        eg_rpt100_head_query();
                    },
                    failure: function() {
                        Leaf.Masker.unmask(Ext.getBody());
                    },
                    error: function() {
                        Leaf.Masker.unmask(Ext.getBody());
                    },
                    scope: this
                });
            }
            
            //计算
            window['${/parameter/@layout_code}_quote_layout_dynamic_click'] = function() {
                if (!g_calc_date) {
                    Leaf.showMessage('${l:HLS.PROMPT}', '请输入计算日期!');
                    return;
                }
                Leaf.showConfirm('${l:PROMPT}', '计算将清除上次运行结果,并且执行时间较长,是否确认提交?', function() {
                    var ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'con_contract');
                    $(ds_id).removeAll();
                    eg_rpt100_submit(g_control_id);
                }, function() {
            
                   });
            
            };
            
            //查询
            window['${/parameter/@layout_code}_print_layout_dynamic_click'] = function() {
                var rpt_ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'rpt_report_control');
            
                var status = $(rpt_ds_id).getAt(0).get('status');
                var control_id = g_control_id;
                if (status == 'FINISH') {
                    eg_rpt100_detail_query();
                } else {
                    eg_rpt100_status_find(control_id);
                }
                //  eg_rpt100_detail_query();
            };
            
            window['${/parameter/@layout_code}_dynamic_link_renderer'] = function(value, record, name, config_record) {
                if (name == 'contract_number') {
                    return '<a   href="javascript:con620n_open_contract_win(\'' + record.id + '\',\'' + record.ds.id + '\')">' + value + '</a>';
                }
                if (name == 'risk_flag_n' && value) {
                    //return  '<font color="red" >'+value+'</font>';
                    return '<a style="color:red"  href="#">' + value + '</a>';
                }
                if (name == 'status' && value) {
                    return '<a style="color:red"  href="#">' + value + '</a>';
                }
                if (name == 'last_submit_date' && value) {
                    return '<a style="color:red"  href="#">' + value + '</a>';
                }
                if (name == 'last_submitted_by' && value) {
                    return '<a style="color:red"  href="#">' + value + '</a>';
                }
                return value;
            };
            
            function get_control_id() {
                var rpt_ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'rpt_report_control');
                Leaf.Masker.mask(Ext.getBody(), '${l:HLS.EXECUTING}');
                Leaf.request({
                    url: $('con643_get_control_id_link').getUrl(),
                    para: {
                        'report_name': '${/parameter/@function_code}',
                        'calc_date': g_calc_date
                    },
                    success: function(res) {
                        g_control_id = res.result.control_id;
                        Leaf.Masker.unmask(Ext.getBody());
                       /*  eg_rpt100_head_query();
                        eg_rpt100_detail_query(); */
            
                    },
                    failure: function() {
                        Leaf.Masker.unmask(Ext.getBody());
                    },
                    error: function() {
                        Leaf.Masker.unmask(Ext.getBody());
                    },
                    scope: this
                });
            }
            
            //更新时调用
            window['${/parameter/@bp_seq}${/parameter/@layout_code}_on_layout_dynamic_update'] = function(ds, record, name, value, old_value, bp_seq) {
                var rpt_ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'rpt_report_control');
                if (ds.id == rpt_ds_id && name == 'calc_date' && value) {
            
            
            
                    if (g_calc_date != value) {
                        g_calc_date = value;
                        $(rpt_ds_id).getAt(0).set('calc_date', g_calc_date);
                        get_control_id();
                    }
                }
            };
            
            
            
            window['${/parameter/@bp_seq}${/parameter/@layout_code}_on_layout_dynamic_grid_load'] = function(ds, record, config_records, bp_seq) {
            
                var rpt_ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'rpt_report_control');
                if (ds.id == rpt_ds_id) {
                    $(rpt_ds_id).getAt(0).set('calc_date', g_calc_date);
            
                } 
            };
            
            //查询时调用(grid,table,gridBox)
            window['${/parameter/@bp_seq}${/parameter/@layout_code}_on_layout_dynamic_grid_query'] = function(ds, qpara, bp_seq) {
                $(ds.id).setQueryParameter('control_id', g_control_id);
            };
            
            
            //导出
            window['${/parameter/@layout_code}_user_button1_layout_dynamic_click'] = function() {
            
                var ds_id = get_dsid_by_basetable(window['${/parameter/@layout_code}_layoutDataSetList'], 'con_contract');
                var grid_id = ds_id.replace('ds', 'layout_grid_id');
                $(grid_id)._export('xls', '${/model/default_function_name/record/@function_name}');
            
            
            };
        ]]></script>
        <a:screen-include screen="modules/cont/CON500/con_contract_get_layout_code.lview"/>
    </a:view>
</a:screen>