financial_statement_query.lview 13.1 KB
Newer Older
lizhe's avatar
lizhe committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231
<?xml version="1.0" encoding="UTF-8"?>
<!--
    @Author: xsh 35973  
    @Date: 2022/3/24 16:26
    @Revision: 1.0  
    @Purpose: 财务报表查询
-->
<a:screen xmlns:a="http://www.leaf-framework.org/application" customizationEnabled="true" trace="true">
    <a:view>
        <a:link id="rsc_fin_statement_tmp_link"
                url="${/request/@context_path}/modules/rsc/RSC303/rsc_fin_statement_detail_tmp.lsc"/>
        <a:link id="rsc_fin_statement_excel_link"
                url="${/request/@context_path}/modules/rsc/RSC303/rsc_fin_statement_excel_sheets.lsc"/>
        <script type="text/javascript"><![CDATA[
        //重置
        function clearData() {
            $("financial_statement_statement_form_ds").reset();
            $("financial_statement_statement_index_ds").reset();
        };

        //查询
        function queryData() {
            $('financial_statement_statement_grid_ds').query();
        };

        //导出
        function exportData() {
            $('financial_statement_statement_grid_id')._export('xls', '财务报表查询清单');
        }

        //导出数据详情
        function excel_export() {
            var records = $('financial_statement_statement_grid_ds').getSelected();
            if (records.length == 0 || records.length > 12) {
                Leaf.showMessage('提示', '请选择不超过12期的数据导出!');      //update by xsh35973 20220401
                return;
            }

            var param = {};
            var saveData = [];

            var detail_mask = Ext.getBody();
            Leaf.Masker.mask(detail_mask, '${l:HLS.EXECUTING}');
            var bp_id = '';
            for (var i = 0; i < records.length; i++) {
                if (records[i].get('bp_id') !== bp_id && bp_id !== '') {
                    Leaf.showMessage('提示', '请选择同一个经销商!');      //update by xsh35973 20220401
                    Leaf.Masker.unmask(detail_mask);
                    return;
                };
                saveData.push({
                    'fin_statement_id': records[i].get('fin_statement_id'),
                    '_status': 'insert'
                });
                bp_id = records[i].get('bp_id')
            }
            param['details'] = saveData;
            Leaf.request({
                url: $('rsc_fin_statement_tmp_link').getUrl(),
                para: param,
                success: function () {
                    Leaf.Masker.unmask(detail_mask);
                    var _url = $('rsc_fin_statement_excel_link').getUrl() + '?fin_statement_templet_id=206';   //update by xsh35973 20220401
                    window.open(_url);
                },
                failure: function () {
                    Leaf.Masker.unmask(detail_mask);
                },
                error: function () {
                    Leaf.Masker.unmask(detail_mask);
                },
                scope: this
            });
        }

        function check_hide_columns() {
            var data = [];
            var records = $("financial_statement_statement_index_ds").getCurrentRecord();
            var record = records.get('line_number').split(',');
            if (record.length > 0 && record != '') {
                for (var i = 0; i < record.length; i++) {
                    var index_name = 'index_name' + record[i];
                    data.push(index_name);
                }
                for (var j = 1; j < 32; j++) {
                    var column_name = 'index_name' + j;
                    $('financial_statement_statement_grid_id').hideColumn(column_name);
                }
                for (var k = 0; k < data.length; k++) {
                    $('financial_statement_statement_grid_id').showColumn(data[k]);
                }
            } else {
                for (var i = 1; i <= 31; i++) {
                    var name = 'index_name' + i
                    $('financial_statement_statement_grid_id').showColumn(name);
                }
            };
        };


        function on_finance_income_cashflow_renderer(value, record, name) {
            return parseFloat(mul(value, 100)).toFixed(2) + '%';
        }

        function on_focus_event() {
            var record = $('financial_statement_statement_form_ds').getAt(0);
            record.getField('bp_name').setLovPara('fetchall', 'Y');
            record.getField('report_month').setLovPara('fetchall', 'Y');
            var record_index = $('financial_statement_statement_index_ds').getAt(0);
            record_index.getField('index_name').setLovPara('fetchall', 'Y');
        }

        ]]></script>
        <a:dataSets>
            <a:dataSet id="check_result_desc" lookupCode="RSC_CHECK_RESULT"/>
            <a:dataSet id="financial_statement_statement_form_ds" autoCreate="true">
                <a:fields>
                    <a:field name="bp_name" lovGridHeight="350" lovHeight="500"
                             lovService="rsc.RSC750.hls_bp_agent_for_lov" lovWidth="800"
                             displayField="bp_name" valueField="bp_id">
                        <a:mapping>
                            <a:map from="bp_id" to="bp_id"/>
                            <a:map from="bp_name" to="bp_name"/>
                        </a:mapping>
                    </a:field>
                    <a:field name="report_month" lovGridHeight="350" lovHeight="500"
                             lovService="rsc.RSC750.rsc_month_query_for_lov" lovWidth="800"
                             displayField="report_month" valueField="report_num">
                        <a:mapping>
                            <a:map from="report_num" to="report_num"/>
                            <a:map from="report_month" to="report_month"/>
                        </a:mapping>
                    </a:field>
                </a:fields>

            </a:dataSet>
            <a:dataSet id="financial_statement_statement_index_ds" autoCreate="true">
                <a:fields>
                    <a:field name="index_name" lovGridHeight="350" lovHeight="500"
                             lovService="rsc.RSC750.rsc_index_query_for_lov" lovWidth="800"
                             displayField="index_name" valueField="line_number">
                        <a:mapping>
                            <a:map from="line_number" to="line_number"/>
                            <a:map from="index_name" to="index_name"/>
                        </a:mapping>
                    </a:field>
                </a:fields>
                <a:events>
                    <a:event name="update" handler="check_hide_columns"/>
                </a:events>
            </a:dataSet>
            <a:dataSet id="financial_statement_statement_grid_ds" autoPageSize="true" autoQuery="true"
                       queryDataSet="financial_statement_statement_form_ds"
                       model="rsc.RSC750.rsc_financial_statement_query_info" selectable="true">
                <a:fields>
                    <a:field name="check_result_n" options="check_result_desc" displayField="code_value_name" valueField="code_value" returnField="month_check_result"/>
                </a:fields>
            </a:dataSet>
        </a:dataSets>
        <a:screenBody>
            <a:screenTopToolbar>
                <a:toolbarButton id="table_query_id" click="queryData" text="查询" width="80"/>
                <a:toolbarButton id="table_clear_id" click="clearData" text="重置" width="80"/>
                <a:toolbarButton id="table_export" click="exportData" text="导出" width="80"/>
                <a:toolbarButton id="excel_export_id" click="excel_export" text="导出数据详情" width="80"/>
            </a:screenTopToolbar>
            <a:form title="查询条件">
                <a:box column="3" labelWidth="120" marginWidth="45">
                    <a:multiLov bindTarget="financial_statement_statement_form_ds" name="bp_name" prompt="经销商名称"
                                width="300">
                        <a:events>
                            <a:event name="focus" handler="on_focus_event"/>
                        </a:events>
                    </a:multiLov>
                    <a:multiLov bindTarget="financial_statement_statement_form_ds" name="report_month" prompt="财报月份"
                                width="300">
                        <a:events>
                            <a:event name="focus" handler="on_focus_event"/>
                        </a:events>
                    </a:multiLov>
                    <a:multiLov bindTarget="financial_statement_statement_index_ds" name="index_name" prompt="财务指标名称"
                                width="300">
                        <a:events>
                            <a:event name="focus" handler="on_focus_event"/>
                        </a:events>
                    </a:multiLov>
                </a:box>
            </a:form>
            <a:grid id="financial_statement_statement_grid_id"
                    navBar="true" marginHeight="240" marginWidth="40"
                    bindTarget="financial_statement_statement_grid_ds">
                <a:columns>
                    <a:column name="bp_name" prompt="经销商名称" align="center" width="180"/>
                    <a:column name="check_result_n" prompt="财报校验" align="center" width="80"/>
                    <a:column name="report_month" prompt="财报月份" align="center" width="100"/>
                    <a:column name="index_name1" prompt="资产负债率" align="right" width="80" renderer="on_finance_income_cashflow_renderer"/>
                    <a:column name="index_name2" prompt="存货周转率" align="right" width="80" renderer="on_finance_income_cashflow_renderer"/>
                    <a:column name="index_name3" prompt="存货周转天数" align="right" width="80" renderer="on_finance_income_cashflow_renderer"/>
                    <a:column name="index_name4" prompt="营业利润率" align="right" width="80" renderer="on_finance_income_cashflow_renderer"/>
                    <a:column name="index_name5" prompt="主营业务利润率" align="right" width="100" renderer="on_finance_income_cashflow_renderer"/>
                    <a:column name="index_name6" prompt="流动比率" align="right" width="80" renderer="on_finance_income_cashflow_renderer"/>
                    <a:column name="index_name7" prompt="净利润率" align="right" width="80" renderer="on_finance_income_cashflow_renderer"/>
                    <a:column name="index_name8" prompt="净资产收益率" align="right" width="80" renderer="on_finance_income_cashflow_renderer"/>
                    <a:column name="index_name9" prompt="速动比率" align="right" width="80" renderer="on_finance_income_cashflow_renderer"/>
                    <a:column name="index_name10" prompt="总资产利润率" align="right" width="100" renderer="on_finance_income_cashflow_renderer"/>
                    <a:column name="index_name11" prompt="总资产周转率" align="right" width="100" renderer="on_finance_income_cashflow_renderer"/>
                    <a:column name="index_name12" prompt="应收账款周转率" align="right" width="100" renderer="on_finance_income_cashflow_renderer"/>
                    <a:column name="index_name13" prompt="应收账款周转天数" align="right" width="100" renderer="on_finance_income_cashflow_renderer"/>
                    <a:column name="index_name14" prompt="其他应收账款周转率" align="right" width="110" renderer="on_finance_income_cashflow_renderer"/>
                    <a:column name="index_name15" prompt="货币资金" align="right" width="110"/>
                    <a:column name="index_name16" prompt="应收票据" align="right" width="110"/>
                    <a:column name="index_name17" prompt="应收账款" align="right" width="110"/>
                    <a:column name="index_name18" prompt="预付款项" align="right" width="110"/>
                    <a:column name="index_name19" prompt="其他应收款" align="right" width="110"/>
                    <a:column name="index_name20" prompt="存货" align="right" width="110"/>
                    <a:column name="index_name21" prompt="其他流动资产" align="right" width="110"/>
                    <a:column name="index_name22" prompt="固定资产" align="right" width="110"/>
                    <a:column name="index_name23" prompt="总资产" align="right" width="110"/>
                    <a:column name="index_name24" prompt="营业收入" align="right" width="110"/>
                    <a:column name="index_name25" prompt="营业成本" align="right" width="110"/>
                    <a:column name="index_name26" prompt="销售费用" align="right" width="110"/>
                    <a:column name="index_name27" prompt="管理费用" align="right" width="110"/>
                    <a:column name="index_name28" prompt="净利润" align="right" width="110"/>
                    <a:column name="index_name29" prompt="经营性现金净额" align="right" width="110"/>
                    <a:column name="index_name30" prompt="投资活动现金净额" align="right" width="110"/>
                    <a:column name="index_name31" prompt="筹资活动现金净额" align="right" width="110"/>
                </a:columns>
            </a:grid>
        </a:screenBody>
    </a:view>
</a:screen>