<?xml version="1.0" encoding="UTF-8"?>
<!--
    $Author: LR  
    $Date: 2013-8-5 下午04:51:29  
    $Revision: 1.0  
    $Purpose: 
-->
<a:screen xmlns:a="http://www.leaf-framework.org/application" customizationEnabled="true" trace="true">
    <a:init-procedure>
        <a:model-query defaultWhereClause="t1.condition_usage_type=${/parameter/@condition_usage_type}" model="sys.SYS200.sys_condition_usage_type" rootPath="sys209_condition_usage_type_path"/>
    </a:init-procedure>
    <a:view>
        <a:link id="sys209_condition_procedure_entry_link" url="${/request/@context_path}/modules/sys/SYS209/sys_condition_procedure_entry.lview"/>
        <a:link id="sys209_condition_procedure_ln_link" url="${/request/@context_path}/modules/sys/SYS209/sys_condition_procedure_ln.lview"/>
        <script type="text/javascript"><![CDATA[
            function sys209_condition_procedure_back() {
                Leaf.go($('sys209_condition_procedure_entry_link').getUrl());
            }
            
            function sys209_condition_procedure_editorFunction(record, name) {
                if (name == 'condition_procedure') {
                    if (record.isNew) {
                        return 'sys209_condition_procedure_grid_tf';
                    }
                } else if (name == 'condition_procedure_type_desc') {
                    if (record.isNew) {
                        return 'sys209_condition_procedure_grid_cmb';
                    }
                }
                return '';
            }
            
            function sys209_window_open_detail(condition_procedure) {
                new Leaf.Window({
                    id: 'sys209_condition_procedure_ln_window',
                    url: $('sys209_condition_procedure_ln_link').getUrl() + '?condition_procedure=' + condition_procedure + '&condition_usage_type=' + '${/parameter/@condition_usage_type}',
                    params: null,
                    title: '${l:SYS209.CONDITION_PROCEDURE_EDIT}',
                    fullScreen: true
                });
            }
            
            function sys209_condition_procedure_render(value, record, name) {
                if (name == 'condition_procedure') {
                    if (record.isNew) {
                        return value;
                    } else {
                        return '<a href="javascript:sys209_window_open_detail(\'' + value + '\');">' + value + '</a>';
                    }
                }
            }
            
            function sys209_condition_procedure_detail() {
                var record = $('sys209_condition_procedure_ds').getSelected();
                if (record.length != 1) {
                    Leaf.showMessage('${l:HLS.PROMPT}', '${l:HLS.SELECT_RECORD}');
                } else {
                    if (!record[0].isNew) {
                        var condition_procedure = record[0].get('condition_procedure');
                        sys209_window_open_detail(condition_procedure);
                    } else {
                        Leaf.showMessage('${l:HLS.PROMPT}', '${l:SYS203.SAVE_FIRST}');
                    }
                }
            }
            
            function sys209_condition_procedure_submitsuccess(ds, res) {
                if (Leaf.isEmpty(res.result.record[0])) {
                    ds.findById(res.result.record._id).set('flag', 'Y', true);
                } else {
                    for (var i = 0;i < res.result.record.length;i++) {
                        ds.findById(res.result.record[i]._id).set('flag', 'Y', true);
                    }
                }
            }
            
            Leaf.onReady(function() {
                var ds = $('sys209_condition_procedure_ds');
                if (!Leaf.isEmpty(${/parameter/@condition_procedure_f})) {
                    ds.setQueryParameter('condition_procedure_f', '${/parameter/@condition_procedure_f}');
                }
                if (!Leaf.isEmpty(${/parameter/@condition_procedure_t})) {
                    ds.setQueryParameter('condition_procedure_t', '${/parameter/@condition_procedure_t}');
                }
                ds.query();
            });
        ]]></script>
        <a:dataSets>
            <a:dataSet id="sys209_condition_procedure_type_ds" lookupCode="SYS_CONDITION_PROCEDURE_TYPE"/>
            <a:dataSet id="sys209_condition_usage_type_ds">
                <a:fields>
                    <a:field name="condition_usage_type_desc" defaultValue="${/model/sys209_condition_usage_type_path/record/@description}" readOnly="true"/>
                    <a:field name="condition_usage_type" defaultValue="${/model/sys209_condition_usage_type_path/record/@condition_usage_type}" readOnly="true"/>
                </a:fields>
            </a:dataSet>
            <a:dataSet id="sys209_condition_procedure_ds" model="sys.SYS209.sys_condition_procedure" queryDataSet="sys209_condition_usage_type_ds" selectable="true">
                <a:fields>
                    <a:field name="condition_procedure" required="true"/>
                    <a:field name="description" required="true"/>
                    <a:field name="condition_usage_type" defaultValue="${/model/sys209_condition_usage_type_path/record/@condition_usage_type}"/>
                    <a:field name="condition_procedure_type_desc" displayField="code_value_name" options="sys209_condition_procedure_type_ds" required="true" returnField="condition_procedure_type" valueField="code_value"/>
                    <a:field name="enabled_flag" checkedValue="Y" defaultValue="Y" uncheckedValue="N"/>
                </a:fields>
                <a:events>
                    <a:event name="submitsuccess" handler="sys209_condition_procedure_submitsuccess"/>
                </a:events>
            </a:dataSet>
        </a:dataSets>
        <a:screenBody>
            <a:screenTopToolbar>
                <a:gridButton click="sys209_condition_procedure_back" text="HLS.RETURN" width="80"/>
                <a:gridButton bind="sys209_condition_procedure_grid" type="add" width="80"/>
                <a:gridButton bind="sys209_condition_procedure_grid" type="clear" width="80"/>
                <a:gridButton bind="sys209_condition_procedure_grid" type="delete" width="80"/>
                <a:gridButton bind="sys209_condition_procedure_grid" type="save" width="80"/>
                <a:gridButton click="sys209_condition_procedure_detail" text="PROMPT.DETAIL" width="80"/>
            </a:screenTopToolbar>
            <a:hBox labelSeparator=" " labelWidth="100">
                <a:textField name="condition_usage_type" bindTarget="sys209_condition_usage_type_ds" prompt="SYS200.SYS_CONDITION_USAGE_TYPE.CONDITION_USAGE_TYPE"/>
                <a:textField name="condition_usage_type_desc" bindTarget="sys209_condition_usage_type_ds" prompt="SYS200.SYS_CONDITION_USAGE_TYPE.DESCRIPTION"/>
            </a:hBox>
            <a:grid id="sys209_condition_procedure_grid" bindTarget="sys209_condition_procedure_ds" marginHeight="120" marginWidth="70" navBar="true">
                <a:columns>
                    <a:column name="condition_procedure" editorFunction="sys209_condition_procedure_editorFunction" renderer="sys209_condition_procedure_render" width="150"/>
                    <a:column name="description" editor="sys209_condition_procedure_grid_tf2" width="200"/>
                    <a:column name="condition_procedure_type_desc" editorFunction="sys209_condition_procedure_editorFunction" width="250"/>
                    <a:column name="condition_procedure_type" width="250"/>
                    <a:column name="enabled_flag" editor="sys209_condition_procedure_grid_ck" width="80"/>
                </a:columns>
                <a:editors>
                    <a:checkBox id="sys209_condition_procedure_grid_ck"/>
                    <a:comboBox id="sys209_condition_procedure_grid_cmb"/>
                    <a:textField id="sys209_condition_procedure_grid_tf" typeCase="upper"/>
                    <a:textField id="sys209_condition_procedure_grid_tf2"/>
                    <a:numberField id="sys209_condition_procedure_grid_nf" allowDecimals="false" allowNegative="false"/>
                </a:editors>
            </a:grid>
        </a:screenBody>
    </a:view>
</a:screen>