<?xml version="1.0" encoding="UTF-8"?>
<!--
    $Author: LR  
    $Date: 2013-7-18 上午09:34:28  
    $Revision: 1.0  
    $Purpose: 
-->
<a:screen xmlns:a="http://www.leaf-framework.org/application" customizationEnabled="true">
    <a:init-procedure>
        <a:model-query fetchAll="true" model="gld.gld_currency_vl" rootPath="acr513_currency_list"/>
        <a:model-query fetchAll="true" model="acr.ACR512.acr_invoice_business_type_list"
                       rootPath="acr513_business_type_list"/>
    </a:init-procedure>
    <a:view>
        <a:link id="acr513_invoice_readonly_page"
                url="${/request/@context_path}/modules/cont/CON500/con_contract_update.lview"/>
        <a:link id="con_contract_get_layout_code_link_id" model="cont.CON500.con_contract_get_layout_code"
                modelaction="update"/>
        <a:link id="receipt_print_link"
                url="${/request/@context_path}/modules/prj/PRJ312/dmegc_emp_loan_cn_print.lview"/>
        <a:link id="cash_deposit_printt_link"
                url="${/request/@context_path}/modules/acr/ACR513/cash_deposit_print.lview"/>
        <script type="text/javascript"><![CDATA[
        function acr513_invoice_query() {
            $('acr513_invoice_result_ds').query();
        }

        function acr513_invoice_reset() {
            $('acr513_invoice_query_ds').reset();
        }

        function acr513_grid_query(reocrd_id, invoice_hd_id, status) {
            var maintain_type = 'READONLY';
            var currency_reocrd = $('acr513_invoice_result_ds').findById(reocrd_id);
            var param = currency_reocrd.data;
            param['function_code'] = 'ACR512';
            param['document_id'] = invoice_hd_id;
            param['function_usage'] = 'QUERY';
            param['maintain_type'] = maintain_type;
            param['url_title'] = '${l:ACR.INVOICE_DETAIL}';
            hls_doc_get_layout_code('con_contract_get_layout_code_link_id', param, 'acr513_invoice_readonly_page', 'acr513_invoice_result_ds');
        }

        function acr513_document_number_render(value, record, name) {
            return '<a href="javascript:acr513_grid_update(' + record.id + ',' + record.get('invoice_hd_id') + ',\'' + record.get('invoice_status') + '\');">' + value + '</a>';
        }

        function acr513_formatMoney(value, record, name) {
            return Leaf.formatNumber(value);
        }

        function acr513_invoice_query_Onupdate(ds, record, name, value, oldVlaue) {
            if (name == 'document_number_f') {
                if (Leaf.isEmpty(record.get('document_number_t'))) {
                    record.set('document_number_t', value);
                }
            } else if (name == 'project_number_f') {
                if (Leaf.isEmpty(record.get('project_number_t'))) {
                    record.set('project_number_t', value);
                }
            } else if (name == 'invoice_number_f') {
                if (Leaf.isEmpty(record.get('invoice_number_t'))) {
                    record.set('invoice_number_t', value);
                }
            } else if (name == 'contract_number_f') {
                if (Leaf.isEmpty(record.get('contract_number_t'))) {
                    record.set('contract_number_t', value);
                }
            } else if (name == 'invoice_bp_code_f') {
                if (Leaf.isEmpty(record.get('invoice_bp_code_t'))) {
                    record.set('invoice_bp_code_t', value);
                }
            } else if (name == 'total_amount_f') {
                if (Leaf.isEmpty(record.get('total_amount_t'))) {
                    record.set('total_amount_t', value);
                }
            } else if (name == 'invoice_date_f') {
                if (Leaf.isEmpty(record.get('invoice_date_t'))) {
                    record.set('invoice_date_t', value);
                }
            } else if (name == 'accounting_date_f') {
                if (Leaf.isEmpty(record.get('accounting_date_t'))) {
                    record.set('accounting_date_t', value);
                }
            }
            if (Ext.isEmpty(record.get('project_number_f')) && Ext.isEmpty(record.get('project_number_t'))) {
                record.set('query_project_number', '');
            }
            else {
                record.set('query_project_number', 'Y');
            }
            if (Ext.isEmpty(record.get('contract_number_f')) && Ext.isEmpty(record.get('contract_number_t'))) {
                record.set('query_contract_number', '');
            }
            else {
                record.set('query_contract_number', 'Y');
            }
        }

        function acr513_grid_query(reocrd_id, invoice_hd_id, status) {
            var maintain_type = 'READONLY';
            var currency_reocrd = $('acr513_invoice_result_ds').findById(reocrd_id);
            var param = currency_reocrd.data;
            param['function_code'] = 'ACR513';
            param['document_id'] = invoice_hd_id;
            param['function_usage'] = 'QUERY';
            param['maintain_type'] = maintain_type;
            param['url_title'] = '销项发票明细';
            hls_doc_get_layout_code('con_contract_get_layout_code_link_id', param, 'acr513_invoice_readonly_page', 'acr513_invoice_result_ds');
        }


        function acr513_document_number_render(value, record, name) {
            return '<a href="javascript:acr513_grid_query(' + record.id + ',' + record.get('invoice_hd_id') + ',\'' + record.get('invoice_status') + '\');">' + value + '</a>';
        }

        function acr513_invoice_confirm() {
            $('acr513_invoice_result_ds').submitSelected();
        }

        function acr513_invoice_result_ds_submitsuccess(ds) {
            $('acr513_invoice_grid_id').clear();
        }

        // function acr513_print_receipt() {
        //     var records = $('acr513_invoice_result_ds').getSelected();
        //     if (records.length != 1) {
        //         Leaf.showMessage('提示', '请选择一条数据');
        //         return;
        //     }
        //     if (records[0].get('invoice_kind') != 'RECEIPT') {
        //         Leaf.showMessage('提示', '发票种类不为收据,无法打印!');
        //         return;
        //     }
        //     var win = new Leaf.Window({
        //         id: 'receipt_print_winid',
        //         url: $('receipt_print_link').getUrl(),
        //         params: {
        //             invoice_hd_id: records[0].get('invoice_hd_id')
        //         },
        //         title: '收据打印',
        //         fullScreen: true
        //     });
        // }

        //hongquan.dai 20180125
        //保证金Word打印
        // function cash_deposit_print() {
        //
        //     var records = $('acr513_invoice_result_ds').getSelected();
        //     if (records.length != 1) {
        //         Leaf.showMessage('${l:PROMPT}', '请选择且仅选择一条保证金!');
        //         return;
        //     }
        //     var record = records[0];
        //
        //
        //     var invoice_hd_id = record.get('invoice_hd_id');
        //     var templt_name = 'csh_deposit_print.xml';
        //     if (invoice_hd_id) {
        //         Leaf.Masker.unmask(Ext.getBody()); //解锁
        //         var url = $('cash_deposit_printt_link').getUrl() + '?templt_name=' + templt_name + '&invoice_hd_id=' + invoice_hd_id;
        //         var form = document.createElement("form");
        //         form.target = "word_export_window";
        //         form.method = "post";
        //         form.action = url;
        //         var iframe = Ext.get('word_export_window') || new Ext.Template('<iframe id ="word_export_window" name="word_export_window" style="position:absolute;left:-10000px;top:-10000px;width:1px;height:1px;display:none"></iframe>').insertFirst(document.body, {}, true);
        //         document.body.appendChild(form);
        //         form.submit();
        //         Ext.fly(form).remove();
        //     }
        //
        // }


        ]]></script>
        <a:screen-include screen="modules/cont/CON500/con_contract_get_layout_code.lview"/>
        <a:dataSets>
            <a:dataSet id="acr513_business_type_ds">
                <a:datas dataSource="/model/acr513_business_type_list"/>
            </a:dataSet>
            <a:dataSet id="acr513_currency_ds">
                <a:datas dataSource="/model/acr513_currency_list"/>
            </a:dataSet>
            <a:dataSet id="acr513_invoice_kind_ds" lookupCode="ACR510_INVOICE_KIND"/>
            <a:dataSet id="acr513_invoice_statu_ds" lookupCode="ACR510_AR_INVOICE_STATUS"/>
            <a:dataSet id="acr513_express_status_ds" lookupCode="ACR518_EXPRESS_STATUS"/>
            <a:dataSet id="acr513_billing_way_ds" lookupCode="DS_INVOICE_CATEGORY"/>
            <a:dataSet id="acr513_invoice_query_ds" autoCreate="true">
                <a:fields>
                    <a:field name="currency_name" displayField="currency_name" options="acr513_currency_ds"
                             returnField="currency" valueField="currency_code"/>
                    <a:field name="invoice_kind_desc" displayField="code_value_name" options="acr513_invoice_kind_ds"
                             returnField="invoice_kind" valueField="code_value"/>
                    <a:field name="invoice_status_desc" displayField="code_value_name" options="acr513_invoice_statu_ds"
                             returnField="invoice_status" valueField="code_value"/>
                    <!--<a:field name="business_type_desc" displayField="business_type_desc" options="acr513_business_type_ds" returnField="business_type" valueField="business_type"/>-->
                    <a:field name="billing_way_desc" displayField="code_value_name" options="acr513_billing_way_ds"
                             returnField="billing_way" valueField="code_value"/>
                    <a:field name="created_by_name" lovGridHeight="320" lovHeight="500"
                             lovService="acr.ACR512.acr_invoice_sys_user_lov" lovWidth="500" title="开票人选择">
                        <a:mapping>
                            <a:map from="user_id" to="created_by"/>
                            <a:map from="description" to="created_by_name"/>
                        </a:mapping>
                    </a:field>
                    <a:field name="confirmed_by_name" lovGridHeight="320" lovHeight="500"
                             lovService="acr.ACR512.acr_invoice_sys_user_lov" lovWidth="500" title="复核人选择">
                        <a:mapping>
                            <a:map from="user_id" to="confirmed_by"/>
                            <a:map from="description" to="confirmed_by_name"/>
                        </a:mapping>
                    </a:field>
                    <a:field name="invoice_bp_code_f" lovGridHeight="320" lovHeight="480"
                             lovService="acr.ACR512.acr_invoice_bp_master_list" lovWidth="500" title="客户选择">
                        <a:mapping>
                            <a:map from="bp_code" to="invoice_bp_code_f"/>
                        </a:mapping>
                    </a:field>
                    <a:field name="invoice_bp_code_t" lovGridHeight="320" lovHeight="480"
                             lovService="acr.ACR512.acr_invoice_bp_master_list" lovWidth="500" title="客户选择">
                        <a:mapping>
                            <a:map from="bp_code" to="invoice_bp_code_t"/>
                        </a:mapping>
                    </a:field>
                    <a:field name="project_number_f" lovGridHeight="320" lovHeight="480"
                             lovService="acr.ACR512.acr_invoice_project_list" lovWidth="500" title="项目选择">
                        <a:mapping>
                            <a:map from="project_number" to="project_number_f"/>
                        </a:mapping>
                    </a:field>
                    <a:field name="project_number_t" lovGridHeight="320" lovHeight="480"
                             lovService="acr.ACR512.acr_invoice_project_list" lovWidth="500" title="项目选择">
                        <a:mapping>
                            <a:map from="project_number" to="project_number_t"/>
                        </a:mapping>
                    </a:field>
                    <a:field name="contract_number_f" lovGridHeight="320" lovHeight="480"
                             lovService="acr.ACR512.acr_invoice_contract_list" lovWidth="500" title="合同选择">
                        <a:mapping>
                            <a:map from="contract_number" to="contract_number_f"/>
                        </a:mapping>
                    </a:field>
                    <a:field name="contract_number_t" lovGridHeight="320" lovHeight="480"
                             lovService="acr.ACR512.acr_invoice_contract_list" lovWidth="500" title="合同选择">
                        <a:mapping>
                            <a:map from="contract_number" to="contract_number_t"/>
                        </a:mapping>
                    </a:field>
                    <a:field name="received_flag" checkedValue="Y" defaultValue="N" uncheckedValue="N"/>
                    <a:field name="express_status_desc" displayField="code_value_name"
                             options="acr513_express_status_ds" returnField="express_status" valueField="code_value"/>
                </a:fields>
                <a:events>
                    <a:event name="update" handler="acr513_invoice_query_Onupdate"/>
                </a:events>
            </a:dataSet>
            <a:dataSet id="acr513_invoice_result_ds" autoPageSize="true" model="acr.ACR513.acr_invoice_confirm"
                       queryDataSet="acr513_invoice_query_ds" selectable="true" autoQuery="true">
                <a:events>
                    <a:event name="submitsuccess" handler="acr513_invoice_result_ds_submitsuccess"/>
                </a:events>
            </a:dataSet>
        </a:dataSets>
        <a:screenBody>
            <a:screenTopToolbar>
                <a:screenTitle/>
                <a:toolbarButton click="acr513_invoice_query" text="HLS.QUERY"/>
                <a:toolbarButton click="acr513_invoice_reset" text="HLS.RESET"/>
                <a:toolbarButton click="acr513_invoice_confirm" text="CONFIRM"/>
                <!-- <a:toolbarButton click="cash_deposit_print" text="保证金打印"/>-->
                <!-- <a:toolbarButton click="acr513_print_receipt" text="收据打印"/> -->
            </a:screenTopToolbar>
            <a:form marginWidth="30" padding="0" title="销项发票确认" column="5">

                <a:datePicker name="invoice_date_f" bindTarget="acr513_invoice_query_ds" prompt="ACR.INVOICE_DATE_FROM"
                              width="135"/>
                <a:datePicker name="invoice_date_t" bindTarget="acr513_invoice_query_ds" prompt="发票日期到" width="135"/>
                <a:lov name="contract_number_f" bindTarget="acr513_invoice_query_ds" prompt="HLS.CONTRACT_NUMBER_FROM"
                width="135"/>
                <a:lov name="contract_number_t" bindTarget="acr513_invoice_query_ds" prompt="合同编号到" width="135"/>
                <a:textField name="invoice_title" bindTarget="acr513_invoice_query_ds" prompt="ACR.INVOICE_TITLE"
                             width="135"/>
                <a:comboBox name="billing_way_desc" bindTarget="acr513_invoice_query_ds" prompt="开票方式" width="135"/>
                <a:lov name="created_by_name" bindTarget="acr513_invoice_query_ds" prompt="ACR.CREATED_BY_NAME"
                       width="135"/>

                <a:datePicker name="accounting_date_f" bindTarget="acr513_invoice_query_ds"
                              prompt="HLS.ACCOUNT_DATE_FROM" width="135"/>
                <a:datePicker name="accounting_date_t" bindTarget="acr513_invoice_query_ds" prompt="记账日期到" width="135"/>

                <a:numberField name="total_amount_f" bindTarget="acr513_invoice_query_ds" prompt="ACR.TOTAL_AMOUNT_FROM"
                               width="135"/>
                <a:numberField name="total_amount_t" bindTarget="acr513_invoice_query_ds" prompt="发票金额到" width="135"/>
                <a:comboBox name="invoice_kind_desc" bindTarget="acr513_invoice_query_ds" prompt="ACR.INVOICE_KIND"
                            width="135"/>
                <a:textField name="document_number_f" bindTarget="acr513_invoice_query_ds"
                             prompt="HLS.DOCUMENT_NUMBER_FROM" width="135"/>
                <a:textField name="document_number_t" bindTarget="acr513_invoice_query_ds" prompt="单据号到" width="135"/>
                <a:textField name="bp_agent_name"  bindTarget="acr513_invoice_query_ds" prompt="代理商" width="135"/>
            </a:form>
            <a:grid id="acr513_invoice_grid_id" bindTarget="acr513_invoice_result_ds" marginHeight="325"
                    marginWidth="30" navBar="true">
                <a:columns>
                    <a:column name="document_number" lock="true" prompt="HLS.DOCUMENT_NUMBER"
                              renderer="acr513_document_number_render" width="120"/>
                    <a:column name="invoice_bp_name" autoAdjust="false" prompt="HLS.CUSTOMER_NAME" showTitle="true"
                              width="100"/>
                    <a:column name="contract_number" autoAdjust="false" prompt="HLS.CONTRACT_NUMBER" showTitle="true"
                              width="150"/>
                    <a:column name="contract_name" lock="true" width="150" prompt="合同名称"/>
                    <a:column name="bp_agent_name" prompt="代理商" width="100"/>
                    <!--<a:column name="business_type_desc" prompt="HLS.BUSINESS_TYPE_DESC" width="80"/>-->
                    <a:column name="billing_way_desc" prompt="开票方式" width="80"/>
                    <a:column name="invoice_kind_desc" prompt="ACR.INVOICE_KIND" width="100"/>
                    <a:column name="invoice_number" prompt="ACR.INVOICE_NUMBER" width="120"/>
                    <a:column name="invoice_date" prompt="ACR.INVOICE_DATE" width="100"/>
                    <!-- <a:column name="project_name" autoAdjust="false" prompt="HLS.PROJECT_NAME" showTitle="true" width="150"/> -->
                    <!-- <a:column name="contract_number" prompt="HLS.CONTRACT_NUMBER" width="120"/> -->
                    <!-- <a:column name="bp_code" prompt="HLS.CUSTOMER_NUMBER" width="100"/> -->
                    <a:column name="invoice_title" autoAdjust="false" prompt="ACR.INVOICE_TITLE" showTitle="true"
                              width="150"/>
                    <!-- <a:column name="total_amount" align="right" prompt="ACR.TOTAL_AMOUNT" renderer="Leaf.formatMoney" width="100"/> -->
                    <!-- <a:column name="currency" prompt="HLS.CURRENCY" width="80"/> -->
                    <a:column name="created_by_name" autoAdjust="false" prompt="ACR.CREATED_BY_NAME" showTitle="true"
                              width="150"/>
                    <a:column name="invoice_status_desc" prompt="ACR.INVOICE_STATUS" width="100"/>
<!--                    <a:column name="accounting_date" prompt="HLS.ACCOUNT_DATE" width="100"/>-->
                    <!-- <a:column name="project_number" prompt="HLS.PROJECT_NUMBER" width="120"/> -->
                </a:columns>
            </a:grid>
        </a:screenBody>
    </a:view>
</a:screen>