<?xml version="1.0" encoding="UTF-8"?> <!-- $Author: LR $Date: 2013-7-18 上午09:34:43 $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="acr514_currency_list"/> <a:model-query fetchAll="true" model="acr.ACR512.acr_invoice_business_type_list" rootPath="acr514_business_type_list"/> </a:init-procedure> <a:view> <a:link id="acr514_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="acr514_update_for_submit_id" url="${/request/@context_path}/modules/acr/ACR512/acr_invoice_update_for_submit.lsc"/> <a:link id="acr_invoice_reverse_apply_detail_link" url="${/request/@context_path}/modules/acr/ACR620/acr_invoice_reverse_apply_detail.lview"/> <script><![CDATA[ function lock_current_window() { Leaf.Masker.mask(Ext.getBody(), '${l:HLS.EXECUTING}'); } function unlock_current_window() { Leaf.Masker.unmask(Ext.getBody()); } function acr514_invoice_query() { $('acr514_invoice_result_ds').query(); } function acr514_invoice_reset() { $('acr514_invoice_query_ds').reset(); } function acr514_formatMoney(value, record, name) { return Leaf.formatNumber(value); } function acr514_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); } } 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 acr514_grid_query(reocrd_id, invoice_hd_id, status) { var maintain_type = 'READONLY'; var currency_reocrd = $('acr514_invoice_result_ds').findById(reocrd_id); var param = currency_reocrd.data; param['function_code'] = 'ACR514'; 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, 'acr514_invoice_readonly_page', 'acr514_invoice_result_ds'); } function acr514_document_number_render(value, record, name) { return '<a href="javascript:acr514_grid_query(' + record.id + ',' + record.get('invoice_hd_id') + ',\'' + record.get('invoice_status') + '\');">' + value + '</a>'; } function acr514_invoice_reverse() { acr514_invoice_handle('REVERSE'); } function acr514_invoice_invalid() { acr514_invoice_handle('INVALID'); } function is_over_month(start_str, end_str) { var start = Leaf.formatDate(start_str); var end = Leaf.formatDate(end_str); var year = Number(end.substr(0, 4)) - Number(start.substr(0, 4)); var month = Number(end.substr(5, 2)) - Number(start.substr(5, 2)); var day = Number(end.substr(8, 2)) - Number(start.substr(8, 2)); if (year == 1 && month == -11 && day <= 0) { return false; } if (year == 0 && month == 0) { return false; } if (year == 0 && month == 1 && day <= 0) { return false; } return true; } function acr514_invoice_handle(type) { var ds = $('acr514_invoice_result_ds'); var records = ds.getSelected(); if (records.length == 0) { return; } if (type == 'REVERSE') { for (var i = 0;i < records.length;i++) { if (records[i].get('invoice_kind') == '0') { records[i].getField('vat_red_notice_num').setRequired(true); } } } else if (type == 'INVALID') { for (var i = 0;i < records.length;i++) { if (is_over_month(records[i].get('invoice_date'), records[i].get('reverse_date'))) { Leaf.showMessage('${l:HLS.PROMPT}', '单据号:' + records[i].get('document_number') + '日期跨月'); return; } } // for (var i = 0;i < records.length;i++) { // if (records[i].get('vat_interface_status')=='BACK') { // Leaf.showMessage('${l:HLS.PROMPT}', '单据号:' + records[i].get('document_number') + '金税状态已回写,不可反冲'); // return; // } // } for (var i = 0;i < records.length;i++) { records[i].getField('vat_red_notice_num').setRequired(false); } } else { return; } Leaf.showConfirm('${l:HLS.PROMPT}', '是否确认?', function() { ds.submitSelected(); }, function() { }); } function acr514_invoice_result_ds_submitsuccess(ds) { $('acr514_invoice_grid_id').clear(); } function vat_red_notice_num_editorFunction(record, name) { if (record.get('invoice_kind') == '0') { if (name == 'vat_red_notice_num') { return 'invoice_grid_tf'; } } return ''; } function acr514_invoice_update(ds, record, name, value, oldVlaue) { var time,year,month,day,string; var d,d_year_month; if(name=='reverse_date') { time = new Date(); year = time.getFullYear(); month = time.getMonth()+1; if(month<10) string = String(year)+'0'+String(month); else string = String(year)+String(month); d= new Date(value); d_year=d.getFullYear(); d_month=d.getMonth()+1; if(d_month<10) d_year_month = String(d_year)+'0'+String(d_month); else d_year_month = String(d_year)+String(d_month); //如果小于系统时间 if( d_year_month<string) { record.getField('vat_red_notice_num').setRequired(true); } else { record.getField('vat_red_notice_num').setRequired(false); } record.set(name,value); } } function acr514_invoice_insert() { var records = $('acr514_invoice_result_ds').getSelected(); if (records.length < 1) { Leaf.showMessage('${l:HLS.PROMPT}', '请选择需要审批的发票!'); return; } var datas = {}; var saveData = []; var invoice_hd_ids = ''; for (var i = 0; i < records.length; i++) { if (invoice_hd_ids == '') { invoice_hd_ids = records[i].get('invoice_hd_id'); } else { invoice_hd_ids = invoice_hd_ids + ',' + records[i].get('invoice_hd_id'); } records[i].set('_status', 'update'); saveData.push(records[i].data); } saveData.sort(function (a, b) { return a.invoice_hd_id - b.invoice_hd_id; }); datas['invoice_hd_ids'] = invoice_hd_ids; datas['apply_mode'] = 'REVERSE'; datas['details'] = saveData; Leaf.showConfirm('提示', '<span style="color: #ff0000; ">所选发票即将创建反冲申请!如需要取消发票反冲申请,请点击取消申请!</span>', function () { lock_current_window(); Leaf.request({ url: $('acr514_update_for_submit_id').getUrl(), para: datas, success: function (res) { Leaf.SideBar.show({ msg: '申请成功', duration: 3000 }); unlock_current_window(); var win = new Leaf.Window({ id: 'acr_invoice_reverse_apply_detail_link_winid', params: { invoice_apply_id: res.result.invoice_apply_id, winId: 'acr_invoice_reverse_apply_detail_link_winid' }, url: $('acr_invoice_reverse_apply_detail_link').getUrl(), title: '申请明细', fullScreen: true }); win.on('close',function(){ $('acr514_invoice_result_ds').query(); }); }, failure: function () { unlock_current_window(); }, error: function () { unlock_current_window(); }, scope: this }); }); } ]]></script> <a:screen-include screen="modules/cont/CON500/con_contract_get_layout_code.lview"/> <a:dataSets> <a:dataSet id="acr514_business_type_ds"> <a:datas dataSource="/model/acr514_business_type_list"/> </a:dataSet> <a:dataSet id="acr514_currency_ds"> <a:datas dataSource="/model/acr514_currency_list"/> </a:dataSet> <a:dataSet id="acr514_invoice_kind_ds" lookupCode="ACR510_INVOICE_KIND"/> <a:dataSet id="acr514_invoice_statu_ds" lookupCode="ACR510_AR_INVOICE_STATUS"/> <a:dataSet id="acr514_express_status_ds" lookupCode="ACR518_EXPRESS_STATUS"/> <a:dataSet id="acr514_vat_interface_status_ds" lookupCode="ACR515_VAT_INTERFACE_STATUS"/> <a:dataSet id="acr514_invoice_query_ds" autoCreate="true"> <a:fields> <a:field name="currency_name" displayField="currency_name" options="acr514_currency_ds" returnField="currency" valueField="currency_code"/> <a:field name="invoice_kind_desc" displayField="code_value_name" options="acr514_invoice_kind_ds" returnField="invoice_kind" valueField="code_value"/> <a:field name="invoice_status_desc" displayField="code_value_name" options="acr514_invoice_statu_ds" returnField="invoice_status" valueField="code_value"/> <a:field name="vat_interface_status_desc" displayField="code_value_name" options="acr514_vat_interface_status_ds" returnField="vat_interface_status" valueField="code_value"/> <a:field name="business_type_desc" displayField="business_type_desc" options="acr514_business_type_ds" returnField="business_type" valueField="business_type"/> <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_name" displayField="code_value_name" options="acr514_express_status_ds" returnField="express_status" valueField="code_value"/> </a:fields> <a:events> <a:event name="update" handler="acr514_invoice_query_Onupdate"/> </a:events> </a:dataSet> <a:dataSet id="acr514_invoice_result_ds" autoQuery="true" autoPageSize="true" model="acr.ACR514.acr_invoice_reverse" queryDataSet="acr514_invoice_query_ds" selectable="true"> <!--<a:fields> <a:field name="reverse_date" required="true"/> </a:fields> <a:events> <a:event name="submitsuccess" handler="acr514_invoice_result_ds_submitsuccess"/> <a:event name="update" handler="acr514_invoice_update"/> </a:events>--> </a:dataSet> </a:dataSets> <a:screenBody> <a:screenTopToolbar> <a:screenTitle/> <a:toolbarButton click="acr514_invoice_query" text="HLS.QUERY"/> <a:toolbarButton click="acr514_invoice_reset" text="HLS.RESET"/> <!-- <a:toolbarButton click="acr514_invoice_reverse" text="HLS.REVERSE"/>--> <!--<a:toolbarButton click="acr514_invoice_invalid" text="作废"/>--> <a:toolbarButton click="acr514_invoice_insert" text="新建申请"/> </a:screenTopToolbar> <a:form marginWidth="30" padding="0" title="应收发票反冲" labelWidth="130"> <a:hBox labelSeparator="" labelWidth="120"> <a:textField name="document_number_f" bindTarget="acr514_invoice_query_ds" prompt="HLS.DOCUMENT_NUMBER_FROM" width="135"/> <!--<div><![CDATA[${l:HLS.DOCUMENT_NUMBER_TO}]]></div>--> <a:textField name="document_number_t" bindTarget="acr514_invoice_query_ds" prompt="单据号到" width="135"/> <!-- <a:lov name="project_number_f" bindTarget="acr514_invoice_query_ds" prompt="HLS.PROJECT_NUMBER_FROM" width="135"/>--> <!--<div><![CDATA[${l:HLS.DOCUMENT_NUMBER_TO}]]></div>--> <!-- <a:lov name="project_number_t" bindTarget="acr514_invoice_query_ds" prompt="申请编号到" width="135"/>--> <!-- <a:comboBox name="business_type_desc" bindTarget="acr514_invoice_query_ds" prompt="HLS.BUSINESS_TYPE_DESC" width="135"/>--> <a:comboBox name="currency_name" bindTarget="acr514_invoice_query_ds" prompt="HLS.CURRENCY" width="135"/>--> <a:textField name="invoice_number_f" bindTarget="acr514_invoice_query_ds" prompt="ACR.INVOICE_NUMBER_FROM" width="135"/> <a:textField name="invoice_number_t" bindTarget="acr514_invoice_query_ds" prompt="发票编号到" width="135"/> </a:hBox> <a:hBox labelSeparator="" labelWidth="120"> <!--<div><![CDATA[${l:ACR.INVOICE_NUMBER_TO}]]></div>--> <a:lov name="contract_number_f" bindTarget="acr514_invoice_query_ds" prompt="合同编号" width="135"/> <!--<div><![CDATA[${l:HLS.CONTRACT_NUMBER_TO}]]></div>--> <!-- <a:lov name="contract_number_t" bindTarget="acr514_invoice_query_ds" prompt="合同编号到" width="135"/> --> <a:comboBox name="invoice_kind_desc" bindTarget="acr514_invoice_query_ds" prompt="ACR.INVOICE_KIND" width="135"/> <a:lov name="created_by_name" bindTarget="acr514_invoice_query_ds" prompt="创建人" width="135"/> <a:datePicker name="invoice_date_f" bindTarget="acr514_invoice_query_ds" prompt="ACR.INVOICE_DATE_FROM" width="135"/> <a:datePicker name="invoice_date_t" bindTarget="acr514_invoice_query_ds" prompt="发票日期到" width="135"/> </a:hBox> <a:hBox labelSeparator="" labelWidth="120"> <!--<div><![CDATA[${l:ACR.INVOICE_DATE_TO}]]></div>--> <a:lov name="invoice_bp_code_f" bindTarget="acr514_invoice_query_ds" prompt="客户编号" width="135"/> <!--<div><![CDATA[${l:HLS.CUSTOMER_NUMBER_TO}]]></div>--> <!-- <a:lov name="invoice_bp_code_t" bindTarget="acr514_invoice_query_ds" prompt="客户编号到" width="135"/>--> <a:textField name="invoice_title" bindTarget="acr514_invoice_query_ds" prompt="ACR.INVOICE_TITLE" width="135"/> <a:lov name="confirmed_by_name" bindTarget="acr514_invoice_query_ds" prompt="确认人" width="135"/> <a:datePicker name="accounting_date_f" bindTarget="acr514_invoice_query_ds" prompt="HLS.ACCOUNT_DATE_FROM" width="135"/> <a:datePicker name="accounting_date_t" bindTarget="acr514_invoice_query_ds" prompt="记账日期到" width="135"/> </a:hBox> <a:hBox labelSeparator="" labelWidth="120"> <!--<div><![CDATA[${l:HLS.ACCOUNT_DATE_TO}]]></div>--> <a:numberField name="total_amount_f" allowFormat="true" bindTarget="acr514_invoice_query_ds" prompt="ACR.TOTAL_AMOUNT_FROM" width="135"/> <!--<div><![CDATA[${l:ACR.TOTAL_AMOUNT_TO}]]></div>--> <a:numberField name="total_amount_t" allowFormat="true" bindTarget="acr514_invoice_query_ds" prompt="发票金额到" width="135"/> <a:comboBox name="invoice_status_desc" bindTarget="acr514_invoice_query_ds" prompt="ACR.INVOICE_STATUS" width="135"/> <a:comboBox name="vat_interface_status_desc" bindTarget="acr514_invoice_query_ds" prompt="金税状态" width="135"/> </a:hBox> </a:form> <a:grid id="acr514_invoice_grid_id" bindTarget="acr514_invoice_result_ds" marginHeight="260" marginWidth="30" navBar="true"> <a:columns> <a:column name="document_number" lock="true" prompt="HLS.DOCUMENT_NUMBER" renderer="acr514_document_number_render" width="120"/> <a:column name="contract_name" autoAdjust="false" prompt="HLS.CONTRACT_NAME" showTitle="true" width="150"/> <a:column name="invoice_bp_name" autoAdjust="false" prompt="HLS.CUSTOMER_NAME" showTitle="true" width="150"/> <a:column name="business_type_desc" prompt="HLS.BUSINESS_TYPE_DESC" 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="reverse_date" editor="invoice_grid_dp" prompt="HLS.REVERSE_DATE" renderer="Leaf.formatDate" width="100"/>--> <!-- <a:column name="vat_red_notice_num" editorFunction="vat_red_notice_num_editorFunction" prompt="ACR.VAT_RED_NOTICE_NUM" width="120"/>--> <!-- <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="90"/> <!-- <a:column name="currency" prompt="HLS.CURRENCY" width="80"/> --> <a:column name="created_by_name" autoAdjust="false" prompt="创建人" showTitle="true" width="150"/> <a:column name="confirmed_by_name" align="center" autoAdjust="false" prompt="确认人" showTitle="true" width="150"/> <a:column name="invoice_status_desc" prompt="ACR.INVOICE_STATUS" width="100"/> <a:column name="vat_interface_status_desc" prompt="ACR.VAT_INTERFACE_STATUS_NAME" width="100"/> <a:column name="accounting_date" prompt="HLS.ACCOUNT_DATE" width="100"/> <!--<a:column name="create_je_flag" align="center" prompt="ACR.CREATE_JE_FLAG" width="60"/>--> <!-- <a:column name="project_number" prompt="HLS.PROJECT_NUMBER" width="120"/> <a:column name="project_name" autoAdjust="false" prompt="HLS.PROJECT_NAME" showTitle="true" width="150"/> --> </a:columns> <!--<a:editors> <a:datePicker id="invoice_grid_dp"/> <a:textField id="invoice_grid_tf"/> </a:editors>--> </a:grid> </a:screenBody> </a:view> </a:screen>