<?xml version="1.0" encoding="UTF-8"?>
<a:screen xmlns:a="http://www.leaf-framework.org/application" trace="true">
    <a:init-procedure>
        <a:model-query model="tre.tre510.tre_project_detail" rootPath="project_path"/>
        <a:model-query model="tre.tre510.tre_funds_reservation_detail" rootPath="reservation_detail_path"/>
    </a:init-procedure>
    <a:view>
        <a:link id="tre510_detail_attach_upload_link" url="${/request/@context_path}/uploadFile.lview"/>
        <a:link id="tre_funds_reservation_detail_save_link" model="tre.tre510.tre_funds_reservation_detail" modelaction="execute"/>
        <script type="text/javascript"><![CDATA[
            function reserveDs_save() {
                var ds = $('tre_funds_reservation_detail_ds');
                var records = ds.getSelected();
                if (records.length > 0) {
                    ds.submitSelected();
                } else {
                    Leaf.showMessage('${l:HLS.PROMPT}', '${l:TRE510.CHECK_RESERVATION_PROJECT}');
                }
            }
            
            function onSubmitSuccess(ds, res) {
                $('tre_funds_reservation_detail_ds').query();
            }
            
            function atm_upload_renderer(value, record, name) {
                if (!Ext.isEmpty(record.get('reservation_id'))) {
                    return '<a href="javascript:atm_upload_win(' + record.get('reservation_id') + ')">' + '${l:TRE510.ATTACHMENT_UPLOAD}' + '</a>';
                }
            }
            
            function atm_upload_win(reservation_id) {
                var url = $('tre510_detail_attach_upload_link').getUrl() + '?table_name=TRE_FUNDS_RESERVATION&header_id=' + reservation_id;
                new Leaf.Window({
                    url: url,
                    title: '${l:TRE510.ATTACHMENT_UPLOAD}',
                    id: 'tre_funds_reservation_win',
                    width: 850,
                    height: 400
                });
            }
            
            function reserveDs_query() {
                $('tre_funds_reservation_detail_ds').query();
            }
            
            function editor_func(record, name) {
                if (record.isNew) {
                    if (name == 'reserve_amount') {
                        return 'editor_tf';
                    } else if (name == 'paid_date') {
                        return 'editor_dp';
                    } else if (name == 'description') {
                        return 'editor_tf';
                    }
                }else{
                    if(record.get('confirm_status')=='UNCONFIRMED'){
                        if (name == 'reserve_amount') {
                        return 'editor_tf';
                    } else if (name == 'paid_date') {
                        return 'editor_dp';
                    } else if (name == 'description') {
                        return 'editor_tf';
                    }
                    }
                }
                return '';
            }
        ]]></script>
        <a:dataSets>
            <a:dataSet id="tre_status_ds" lookupCode="RESERVE_STATUS"/>
            <a:dataSet id="confirm_status_ds" lookupCode="RESERVATION_CONFIRM_STATUS"/>
            <a:dataSet id="tre_funds_reservation_detail_ds" autoPageSize="true" autoQuery="true" fetchAll="true" model="tre.tre510.tre_funds_reservation_detail" queryUrl="${/request/@context_path}/autocrud/tre.tre510.tre_funds_reservation_detail/query?project_id=${/parameter/@project_id}" selectable="true" selectionModel="single">
                <!-- <a:datas dataSource="/model/reservation_detail_path" /> -->
                <a:fields>
                    <a:field name="project_id" defaultValue="${/parameter/@project_id}"/>
                    <a:field name="project_number" defaultValue="${/model/project_path/record/@project_number}"/>
                    <a:field name="project_name" defaultValue="${/model/project_path/record/@project_name}"/>
                    <a:field name="bp_name" defaultValue="${/model/project_path/record/@bp_name}"/>
                    <a:field name="reserve_amount" required="true"/>
                    <a:field name="paid_date" required="true"/>
                    <a:field name="status" defaultValue="NOT"/>
                    <a:field name="status_n" defaultValue="未预约" displayField="code_value_name" options="tre_status_ds" returnField="status" valueField="code_value"/>
                    <a:field name="confirm_status" defaultValue="UNCONFIRMED"/>
                    <a:field name="confirm_status_desc" defaultValue="未确认" displayField="code_value_name" options="confirm_status_ds" returnField="confirm_status" valueField="code_value"/>
                </a:fields>
                <a:events>
                    <a:event name="submitsuccess" handler="onSubmitSuccess"/>
                </a:events>
            </a:dataSet>
        </a:dataSets>
        <a:screenBody>
            <a:screenTopToolbar>
                <a:screenTitle/>
                <a:gridButton click="reserveDs_query" text="查询"/>
                <a:gridButton bind="tre_funds_reservation_detail_grid" type="add"/>
                <a:gridButton click="reserveDs_save" text="TRE510.RESERVATE_PROJECT"/>
                <a:gridButton bind="tre_funds_reservation_detail_grid" type="clear"/>
            </a:screenTopToolbar>
            <a:form/>
            <a:grid id="tre_funds_reservation_detail_grid" bindTarget="tre_funds_reservation_detail_ds" height="330" navBar="true" width="850">
                <a:columns>
                    <a:column name="project_number" align="center" lock="true" prompt="项目编号" width="100"/>
                    <a:column name="project_name" lock="true" prompt="项目名称" width="200"/>
                    <a:column name="bp_name" prompt="承租人名称" width="180"/>
                    <a:column name="status_n" align="center" prompt="预约状态" width="80"/>
                    <a:column name="confirm_status_desc" align="center" prompt="确认状态" width="80"/>
                    <a:column name="reserve_amount" align="right" editorFunction="editor_func" prompt="预约金额" renderer="Leaf.formatMoney" width="120"/>
                    <a:column name="paid_date" align="center" editorFunction="editor_func" prompt="预约日期" renderer="Leaf.formatDate" width="100"/>
                    <a:column name="description" editorFunction="editor_func" prompt="描述" width="200"/>
                    <a:column name="attach_upload" align="center" prompt="TRE510.ATTACHMENT_UPLOAD" renderer="atm_upload_renderer"/>
                </a:columns>
                <a:editors>
                    <a:textField id="editor_tf"/>
                    <a:datePicker id="editor_dp"/>
                </a:editors>
            </a:grid>
        </a:screenBody>
    </a:view>
</a:screen>