• export-data.js


    var timeBtnClick = (function() {
        function _todayClick() {
            $('.select-time .today').on('click', function() {
                $('#export-date-start-time').val(countDate.getDate(0));
                $('#export-date-end-time').val(countDate.getDate(-1));
            });
        }
    
        function _yesterdayClick() {
            $('.select-time .yesterday').on('click', function(){
                $('#export-date-start-time').val(countDate.getDate(1));
                $('#export-date-end-time').val(countDate.getDate(0));
            });
        }
    
        function _sevenClick() {
            $('.select-time .recent-seven-days').on('click', function(){
                $('#export-date-start-time').val(countDate.getDate(7));
                $('#export-date-end-time').val(countDate.getDate(0));
            });
        }
    
        function _thirtyClick() {
            $('.select-time .recent-thirty-days').on('click', function(){
                $('#export-date-start-time').val(countDate.getDate(30));
                $('#export-date-end-time').val(countDate.getDate(0));
            });
        }
    
        return {
            init: function() {
                _todayClick();
                _yesterdayClick();
                _sevenClick();
                _thirtyClick();
            }
        };
    })();
    
    var countDate = (function() {
        function getDate(days) {
            var now = new Date(),
                newDate = new Date(now.getTime() - 86400000 * days),
                yyyy = newDate.getFullYear(),
                mm = (newDate.getMonth() + 1) < 9 ? '0' + (newDate.getMonth() + 1) : newDate.getMonth() + 1,
                dd = newDate.getDate() < 9 ? '0' + newDate.getDate() : newDate.getDate();
            return (yyyy + '-' + mm + '-' + dd + ' 00:00');
        }
        return {
            getDate: getDate
        };
    })();
    
    var inputInit = (function() {
        function _initPlaceholder() {
            $('.export-date-time').placeholder();
        }
        function _initTimepicker() {
            $('.export-date-time').datetimepicker({
                dateFormat : "yy-mm-dd",
                timeFormat : "HH:mm"
            }).placeholder();
        }
        return {
            init: function() {
                _initPlaceholder();
                _initTimepicker();
            }
        };
    })();
    
    var exportBtnClick = (function() {
        function _initExportBtnClick() {
            $('.export-data-container').on('click', ".export-data-btn:not('.disabled-btn')", function(){
                $this = $(this);
                $('.error-msg').hide();
                $this.find('.loading-icon').hide();
                var startTime = $('#export-date-start-time').val(),
                    endTime = $('#export-date-end-time').val(),
                    dataType = $this.data('type'),
                    timeErrorMsg = $('.time-error-msg');
                if (startTime > endTime) {
                    timeErrorMsg.html(reminder_message.please_choose_correct_time);
                    timeErrorMsg.show();
                    return;
                } else {
                    timeErrorMsg.hide();
                }
    
                if (!startTime || !endTime) {
                    timeErrorMsg.html(reminder_message.please_choose_time);
                    timeErrorMsg.show();
                    return;
                } else {
                    timeErrorMsg.hide();
                }
                $('.export-data-btn').addClass('disabled-btn');
                $this.find('.loading-icon').css('display', 'inline-block');
                ifContinue = true;
                check_export($this, dataType, startTime, endTime, ifContinue);
            });
        }
        function check_export($this, dataType, startTime, endTime, ifContinue) {
            var taskId = $this.data('task-id') ? $this.data('task-id') : '',
                xlsFileLink = $('#xls-file-link'),
                loadingIcon = $this.find('.loading-icon'),
                exportDataBtn = $('.export-data-btn');
            if (ifContinue) {
                $.ajax({
                    type: 'GET',
                    url: '/export-data?startTime=' + startTime + '&endTime=' + endTime + '&dataType=' + dataType + '&taskId=' + taskId,
                    dataType: 'JSON',
                    success: function(data){
                        if (data.error_msg) {
                            if_continue = false;
                            $this.data('task-id', '');
                            $('.time-error-msg').show();
                            loadingIcon.hide();
                            exportDataBtn.removeClass('disabled-btn');
                        }
    
                        if (data.xls_name) {
                            ifContinue = false;
                            xlsFileLink.attr('href', '/media/' + data.xls_name);
                            xlsFileLink[0].click();
                            xlsFileLink.removeAttr('href');
                            $this.data('task-id', '');
                            loadingIcon.hide();
                            exportDataBtn.removeClass('disabled-btn');
                        } else if (data.task_id) {
                            $this.data('task-id', data.task_id);
                        }
    
                    },
                    error: function(e){
                        if_continue = false;
                        $this.data('task-id', '');
                        $this.next('.error-msg').show();
                        loadingIcon.hide();
                        exportDataBtn.removeClass('disabled-btn');
                    }
                });
                t = setTimeout(function(){
                    console.log("Looping to query.");
                    check_export($this, dataType, startTime, endTime, ifContinue);
                }, 1000);
            }
    
    
        }
        return {
            init: _initExportBtnClick
        };
    })();
    
    $(document).ready(function(){
        timeBtnClick.init();
        inputInit.init();
        exportBtnClick.init();
    });
  • 相关阅读:
    基于jdk8+selenium3+chrome86的UI自动化测试
    服务器虚拟化管理解决方案PVM发送c+a+d组合键
    web端测试技巧记录
    redis-基本数据类型及应用场景
    idea编译时报GC overhead limit exceeded
    cmd常用命令
    @property和@属性.setter的用法
    游陶然亭记
    山城
    记京都春节
  • 原文地址:https://www.cnblogs.com/Brittany-yan/p/5287351.html
Copyright © 2020-2023  润新知