invoice-manage-main.js 2.39 KB
Newer Older
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
invoiceModule.directive('invoiceManageMain', ['$log', 'SweetAlert', '$translate',
    function ($log, SweetAlert, $translate) {
        'use strict';
        $log.debug('invoiceManageMain.ctor()...');

        return {
            restrict: 'E',
            templateUrl: '/app/vat/invoice/invoice-manage-main/invoice-manage-main.html' + '?_=' + Math.random(),
            scope:
            {
                 
            },
            controller: 'invoiceManageMainController',
            link: function (scope, element) {
                //计算datagrid的高度
                scope.setInvoiceGridHeight = function () {
                    var invoiceDataGridSelector = '#invoiceGridContainer';
                    var pageWrapSelector = ".invoice-manage-main";
                    var menuSelector = ".header-title";
                    var contentHeader = '.content-container .header';
                    var contentbody = '.content-container .body';
                    var buttonRow = '.content-container .buttom-row';
                    var pageFooter = '.invoice-manage-main .page-footer';
                    var dxGridSelector = pageWrapSelector + " .grid-container";

                    var pageHeight = $(document).height();// 810; 
                    var menuHeight = $(menuSelector).outerHeight(); 

                    var contentHeaderHeight = $(contentHeader).outerHeight(); 
                    var buttonRowHeight = $(buttonRow).outerHeight(); 
                    var pageFooterHeight = $(pageFooter).outerHeight(); //parseInt($(pageFooter).css('height').replace('px', ''));
                
                    var contentbodyHeight = pageHeight - menuHeight - contentHeaderHeight ;
                    var height = contentbodyHeight -buttonRowHeight- pageFooterHeight -50 + 'px';
                    $(contentbody).css('height', contentbodyHeight+'px');
                    $(dxGridSelector).css('height', height);
                    $(invoiceDataGridSelector).css('max-height', '100%');

                    try {
                        $(invoiceDataGridSelector).dxDataGrid('instance').repaint();
                    }
                    catch (e) {
                        //console.log(e);
                    }
                };


                $(window).on('resize',function () {
                    scope.setInvoiceGridHeight();
                });
            }//# end of link
        };
    }
]);