刚使用requrie.js时的代码

//短信服务
define(['jquery','jsrender','base','text!../../html/sms.html','pagination','bootstrap', 'datetimepicker', 'datetimepicker.zh-CN'], function($,jsrender,base,html){
    function init(){
            var blackIdArry = [],
                timesDate = '',
                sendTypeN = '';
            $('body>.wrapper>.content').html(html);
            //控制短信内容字数
            function controlWord(){
                var remainWd = 70-$('#status').val().length;
                $('.tipsWd').html(remainWd);
            }
            $('#mask').on('keydown','#status',function(){
                controlWord()
            })
            $('#mask').on('keyup','#status',function(){
                controlWord()
            })
            /*==========================选择分组====================================================*/
            $('#mask').on('click','.span-tab',function(){
                var i = $(this).index();
                $(this).addClass('select').siblings('.span-tab').removeClass('select');
                $('.show-con').eq(i).show().siblings('.show-con').hide();
            })
            /*
            * 下拉选择
            * 多选
            */
            //点击得到下拉区域
            $('#mask').on('click','.region-box',function(){
                $(".region-list").show();
                var queryData = {};
                    queryData.enterpriseId = sessionStorage.getItem("enterpriseId");
                    // queryData.name = '';
                base.ajax({"type":"GET","url":"/ecapi/cardgroup/query","data":queryData},function(res){
                    if(res.record == 1200){
                        //console.log(res);
                        //渲染表格数据
                        var liList = $('.region-list ul li');
                        var valData = res.data;
                        var valLen = valData.length;
                        var _Html = '';
                        if(liList.length < 1){
                            for(var i=1;i<valLen;i++){
                                _Html += '<li class="clearfix" data-amount="'+valData[i].amount+'"><span class="text" data-id="'+valData[i].id+'">'+valData[i].name+'</span><span class="check checkbox"></span></li>';
                            }
                            $('.region-list ul').html(_Html);
                        }
                        //隐藏号码为空的Li
                        var liListLen = $('.region-list ul li').length;
                        for(var i = 0;i<liListLen; i++){
                            if($('.region-list ul li').eq(i).attr("data-amount") == "0"){
                                $('.region-list ul li').eq(i).hide();
                            }
                        }
                    }
                });
                 
                //阻止冒泡
                return false;
            })

            //隐藏下拉区域
            $("#mask").on('click',function(){
                $(this).find(".region-list").hide();
            })
            $('#mask').on('click','.region-list',function(){
                //阻止冒泡
                return false;
            })
            //选择所在区域 checkbox
            $('#mask').on('click','.region-list ul .check',function(){
                if( $(this).parent('li').hasClass('selected')){
                    $(this).parent('li').removeClass('selected');
                    var val = $(this).parent().find(".text").html();
                    $(".region-com li").find(".text").each(function(){
                        if($(this).html() == val){
                            $(this).parent("li").remove();
                        }
                    })
                }else{
                    $(this).parent('li').addClass('selected');
                    var val = $(this).parent().find(".text").html();
                    var text = '<li><span class="text">'+val+'</span><i class="icon"></i></li>';
                    $(".region-com ul").append(text);
                }     
            })
            //全选
            $('#mask').on('click','.region-list ul .allcheck',function(){
                if($(this).parent('li').hasClass('selected')){
                    $(this).parent('li').removeClass('selected');
                    $(this).parent('li').siblings('li').removeClass('selected');
                    var lihtml = $(this).parent('li').siblings('li');           
                    $(".region-com ul").html('');                
                }else{
                    $(this).parent('li').addClass('selected');
                    $(this).parent('li').siblings('li').addClass('selected');
                    var lihtml = $(this).parent('li').siblings('li');
                    for(var i = 0;i<lihtml.length;i++){
                        var val = lihtml.eq(i).find('.text').html();
                        var text = '<li><span class="text">'+val+'</span><i class="icon"></i></li>';
                        $(".region-com ul").append(text);                
                    }
                }
            })
            /*==========================手动输入生成标签===========================================*/
            /*
            * 手动添加 设备SN获取焦点
            */
            $("#mask").on("click",".plan-num-com",function(){
                $(".sn-input").focus();
            });
            function checkSn(sn, err_info, err_box) {
                var checkNumberData = [];
                    checkNumberData.push(sn);
                    base.ajax({"type":"POST","url":"/ecapi/shortMessage/checkNumber","data":{'number':checkNumberData}},function(res){
                        if(res.record == 1200){
                            err_info.removeClass("error");
                            err_box.html('');
                            return true;
                        }else{
                            err_info.addClass("error");
                            err_box.html(res.msg);
                            return false;
                        }
                    });

            }
            // 如果超过6行,出现滚动条
            var sixHeiFun = function() {
                var sn_box = $(".plan-num-com"), sn_hei = sn_box.height();
                if (sn_hei >= 125) {
                    sn_box.css({
                        "overflow-y" : "auto",
                        "height" : "125px"
                    });
                } else {
                    sn_box.css({
                        "overflow-y" : "hidden",
                        "height" : "auto"
                    });
                }
            }
            /*
            * 手动添加函数
            * 判断是否重复
            * 正则验证
            * */
            var equipSN = function(){
                //SN00000001
                var num = Number($(".sn-list").length);
                var _this = $("#J_inp_sn");
                var check_val = /^[a-zA-Z0-9]{1,32}$/;
                var inp_val = ($.trim(_this.val())).split(" "),
                    str_len = inp_val.length;
                for(var j=0;j<str_len;j++){
                    if(j == 21 || num == 21){
                        break;
                    }
                    if(inp_val[j] != ""){
                        var text = '<div class="sn-list"><p>'+inp_val[j]+'</p><i class="sn-close"></i></div>';
                        $(".sn-com").before(text);
                        _this.val("").css({"width":"13px"});
                        var len = $(".sn-list").length- 1,
                            err_box = $("#plan-num").next(),
                            err_info = $(".sn-list").last();
                            sixHeiFun();
                        // for(var i=0;i<len;i++){
                        //     if($(".sn-list").eq(i).find("p").html() == inp_val[j]){
                        //         err_info.addClass("error");
                        //         err_box.html("设备SN重复.");
                        //         continue;
                        //     }//设备SN只允许输入英文大小写及数字
                        //     else if(!check_val.test(inp_val[j])){
                        //         err_info.addClass("error");
                        //         err_box.html("请输入1-32位字母、数字组合的设备SN.");
                        //         continue;
                        //     }
                        // }
                        /**
                         * 查询数据库里是否有重复
                         */
                        checkSn(inp_val[j], err_info, err_box);
                        //return true;
                        //如果大于超过50个设备时,则不能输入;
                        if(num >= 19){
                            $("#J_inp_sn").attr("disabled","disabled");
                        }else{
                            $("#J_inp_sn").removeAttr("disabled");
                        }
                    }
                }
            }
            /*
            * 自动延伸宽度
            * */
            var autoLength = function() {
                var input = document.getElementById('J_inp_sn');
                var hlp = document.getElementById('input_help');
                if (!hlp) {
                    hlp = document.createElement('span');
                    hlp.id = 'input_help';
                    hlp.style.visibility = 'hidden';
                    hlp.style.position = 'absolute';
                    hlp.style.left = 0;
                    hlp.style.top = 0;
                    hlp.style.wordWrap = 'nowrap';
                    hlp.style.overflowX = 'visible';
                    document.getElementById("J_sn_com").appendChild(hlp);
                }
                hlp.innerHTML = input.value;
                // 这里多加20个像素,使文本框右边内部有空白空间
                input.style.width = (hlp.offsetWidth + 5) + 'px';
            }

            /*
            * 手动添加 号码
            */
            $("#mask").on("keyup",".sn-input",function(e){
                autoLength();
                var keyCode = window.event ? e.keyCode : e.which;
                if(keyCode == 13){
                    equipSN();  
                }
            });
            /*
            * 输入input失去焦点时
            * 默认把input内容自动生成标签
            * 右键粘贴
            * */
            $("#mask").on("paste","#J_inp_sn",function(){
                setTimeout(function() {
                    equipSN();
                },100);
            });
            $("#mask").on("blur","#J_inp_sn",function(){
                equipSN();
            });
            /*
            * 手动添加 设备SN 删除标签
            */
            $("#mask").on("click", ".sn-close", function() {
                var num = Number($(".sn-list").length);
                $(this).parent().remove();
                sixHeiFun();
                // 如果大于20个号码时,则不能输入;
                if (num = 20) {
                    $("#J_inp_sn").removeAttr("disabled");
                }
                // 如果错误标签删除时,提示需要清除
                if (!$(".sn-list").hasClass("error")) {
                    $("#plan-num").next().html("");
                    return true;
                }
            })

            /*
            * 得到前N天或后N天的日期
            * */
            function showdateAll(n){
                var uom = new Date(new Date()-0+n*86400000),
                    m_num = uom.getMonth()+ 1,
                    d_num = uom.getDate();
                if(m_num <  10){
                    m_num = "0"+m_num;
                }
                if(d_num < 10){
                    d_num = "0"+d_num;
                }
                uom = uom.getFullYear() + "-" + (m_num) + "-" + (d_num);
                return uom;
            }
            /*
            * 得到当前日期
            * */
            function nowdate(){
                var d = new Date(),
                    m_now = d.getMonth()+ 1,
                    d_now = d.getDate();
                if(m_now <  10){
                    m_now = "0"+m_now;
                }
                if(d_now < 10){
                    d_now = "0"+d_now;
                }
                var dateEnd = d.getFullYear()+'-'+ (m_now)+"-"+ d_now;
                return dateEnd;
            }

            /*==========================选择短信发送方式===========================================*/
            $('#mask').on('click','.form_item .label',function(){
                if($('#timingsend').is(":checked")){
                    $('#show-inputTime').show();
                }else{
                    $('#show-inputTime').hide();    
                }
                 //定时发送时间控件
                 var s_time = showdateAll(7),
                     e_time = showdateAll(1);
                $('#sms_query_time').val('').datetimepicker({
                    format: 'yyyy-mm-dd hh:ii',
                    language: 'zh-CN',
                    startView: 'year',
                    minView: 'hour',
                    initialDate: e_time,
                    startDate : e_time,
                    endDate : s_time, //Date
                    autoclose: true
                });
                $('.datetimepicker').hide();
                //选择定时发送
                 $('#mask #sms-month-pick').on('changeDate',function(){
                    sendTypeN = '2';            
                    timesDate = $('#sms_query_time').val();
                    //console.log(timesDate);
                })
            })
            //选择即时发送
            $('#mask').on('click','#Immediatesed',function(){
                 sendTypeN = '1';
                 var u_data = new Date();
                     m_num = u_data.getMonth()+ 1,
                     d_num = u_data.getDate();
                     if(m_num <  10){
                        m_num = "0"+m_num;
                     }
                     if(d_num < 10){
                        d_num = "0"+d_num;
                     }
                    timesDate = u_data.getFullYear()+'-'+ (m_num)+"-"+ (d_num)+" "+ u_data.getHours()+":"+ u_data.getMinutes()+":"+ u_data.getSeconds();
            })

        
            //黑名单号码列表checkbox
            $('#mask').on('click','#blackNameTable .maincheck',function(){
                if($(this).is(':checked')){
                    $('#blackNameTable').find('.subcheck').prop("checked",true);
                }else{
                    $('#blackNameTable').find('.subcheck').prop("checked",false);
                }
            });
            $('#mask').on('click','#blackNameTable .subcheck',function(){
                var checkLen = $(this).is(":checked").length;
                //获取当前td的id
                var blackId = Number($(this).parent('td').attr('id'));
                    if($(this).is(":checked")){
                        blackIdArry.push(blackId);
                    }else{
                        blackIdArry.pop(blackId);
                    }
                    console.log("n9999",blackIdArry);
                if(checkLen == 0){
                    $("#blackNameTable .maincheck").prop("checked",true);
                }else{
                    $("#blackNameTable .maincheck").prop("checked",false);
                }    
            })

             /*==========================短信发送记录===========================================*/
            //短信查询时间控件
            $('#J_query_time').val('').datetimepicker({
                format: 'yyyy-mm-dd',
                language: 'zh-CN',
                startView: 'year',
                minView: 'month',
                initialDate: '',
                startDate: new Date('2017'), //Date
                autoclose: true
            });
            $('.datetimepicker').hide();
            //短信发送记录查询
            queryShortMessageFn({"shortTime":'',"pageNum":1,"pageSize":10});
            function queryShortMessageFn(queryMessageData){
                base.ajax({"type":"GET","url":"/ecapi/shortMessage/queryShortMessage","data":queryMessageData},function(res){
                    if(res.record == 1200){
                        //渲染表格数据   
                        var smsTableHtml = $("#smsTabel").render(res.data);
                        $("#sms-table").html(smsTableHtml);
                        //分页
                        queryMessageData.total = res.data.total;
                        base.listPage(queryShortMessageFn,queryMessageData,'#sms-tableForm-box',true);
                    }
                });
            }
            //导出
            queryShortMessageFn.exportFile = function(queryMessageData){
                window.location.href="/ecapi/shortMessage/downloadShortMessage?shortTime=";
            }
            
            //点击日历查询短信发送记录
            $('#month-pick').on('changeDate',function(ev){
                   var update_time = $('#J_query_time').val();
                    queryShortMessageFn({"shortTime":update_time,"pageNum":1,"pageSize":10});
                    //导出
                    queryShortMessageFn.exportFile = function(queryMessageData){
                        window.location.href="/ecapi/shortMessage/downloadShortMessage?shortTime="+update_time;
                    }
            })

        /**********************************弹窗操作***********************************/
        /*********************发送短信弹窗*********************** */
        $('.serviceBtn .setBtn').on('click',function(){
            $('#mask').removeClass('hidden');
            var setMessageHtml = $("#setMessage").render();
            $("#mask").html(setMessageHtml);
        })
        /*******焦点离开验证**********/
        $('#mask').on('blur','#status',function(){
             var messageCon_box = $('#status'),
                messageCon = messageCon_box.val(),
                error_box = messageCon_box.parents('.form_item').next();
            if(messageCon == ''){
                error_box.html('请输入短信内容');
                return false;
            }else{
                error_box.html('');
                return true;
            }
        })

        /*******点击发送验证**********/
        //发送内容
        function setMessage(){
            var messageCon_box = $('#status'),
                messageCon = messageCon_box.val(),
                error_box = messageCon_box.parents('.form_item').next();
            if(messageCon == ''){
                error_box.html('请输入短信内容');
                return false;
            }else{
                error_box.html('');
                return true;
            }
        }
        /*
        * 添加弹框点击确定按钮时
        * 判断手动输入的号码是否通过
        * */
        function handList(){//1311234567913
            if($("#plan-num").next().html() == "号码不在该集团客户下"){ 
                return false;
            }else{
                return true;
            }
        }
        function blackname(){
            if($("#plan-num").next().html() =='号码已在黑名单,不能对其发送短信'){
                return false
            }else{
                return true;
            }
            
        }
        //验证接收号码是否为空
        function snList(){
            if($('.span-tab.tab1').hasClass('select')){
               // $('.region-com ul').html('');
                if($('.sn-list').length == 0){
                    $('.receive-number').parents('.form_item').next().html('请输入接受号码或选择分组');
                    return false;
                }else{
                    $('.receive-number').parents('.form_item').next().html('');
                    return true;                  
                }
            }
            if($('.span-tab.tab2').hasClass('select')){
                $('.sn-list').html('');
                if($('.region-com ul li').length > 0){
                    $('.receive-number').parents('.form_item').next().html('');
                    return true;
                }else{
                    $('.receive-number').parents('.form_item').next().html('请输入接受号码或选择分组');
                    return false;
                }
            }
        }
        //验证发送方式是否为空
        function typePost(){
            if(timesDate == ''){
                $('.show-inputTime').parents('.form_item').next().html('请选择发送方式');
                return false; 
            }else{
                $('.show-inputTime').parents('.form_item').next().html('');
                return true;
            }
        }

        //点击发送按钮
        $('#mask').on('click','#sendBtn',function(){
            if(setMessage() && handList() &&blackname() && snList() && typePost()){
                //接收号码发送格式
                var receivertype = '';
                var numberArry = [];
                if($("#mask .span-tab.select").attr("data-type") == "1"){
                     $(".plan-num-com .sn-list").each(function(){
                        numberArry.push($(this).find('p').html());
                    })
                     receivertype = '1';
                }else{
                    // $("#J-region-com li").each(function(){
                    //     numberArry.push($(this).find(".text").html());
                    // })
                    $('.region-list li.selected').each(function(){
                        numberArry.push($(this).find('span').attr('data-id'));
                    })
                    receivertype = '2';
                }
                console.log(numberArry);
                console.log('发送~~',timesDate);
                console.log('发送类型',receivertype);
                var sendShortData = {};
                    sendShortData.sendMessage = $('#status').val();
                    sendShortData.receiverNumber = numberArry;//以数组格式上传号码
                    sendShortData.receiverType = receivertype;
                    sendShortData.sendTime = timesDate;
                    sendShortData.sendType = sendTypeN;
                //发送短信请求接口
                base.ajax({"type":"POST","url":"/ecapi/shortMessage/sendShort","data":sendShortData},function(res){
                    if(res.record == 1200){
                        $("#mask").addClass("hidden").html();
                        base.popo(res.msg);
                        //短信发送记录查询
                        queryShortMessageFn({"shortTime":'',"pageNum":1,"pageSize":10});
                    }
                });
                
            }
            
        })

        
        /*********************黑名单管理*********************** */
        //黑名单管理请求数据
        function blacklistFn(blacklistData){
            base.ajax({"type":"GET","url":"/ecapi/shortMessage/blacklist",'data':blacklistData},function(res){
                if(res.record == 1200){
                    var blackTableHtml = $("#blackName").render(res.data);
                    $("#mask").html(blackTableHtml);
                    //分页
                    blacklistData.total = res.data.total;
                    base.listPage(blacklistFn,blacklistData,"#black-tableForm-box",false);         
                }
            });
        }
        //点击显示黑名单弹窗   
        $('.serviceBtn .blackBtn').on('click',function(){
            $('#mask').removeClass('hidden');
            //显示数据
            blacklistFn({"pageNum":1,"pageSize":10});   
        })
        //勾选复选框点击移除按钮
        $('#mask').on('click','#J_black_name_box #removeBtn',function(){
            var trLine = $('#blackNameTable tr');
            for(var i = 0;i<trLine.length;i++){
                if(trLine.eq(i).find('.subcheck').is(':checked')){
                    popInfotrue();
                }
            }
        })
        //是否将所选号码移除黑名单
        function popInfotrue(){
            var tryebox = $('#J_info_true_box').clone();
            $('#mask').append(tryebox);
            $('#J_info_true_box').show();
            $('#mask').removeClass('hidden');    
        }
        //点击确定移除黑名单
        $('#mask').on('click','#J_info_true_box .true',function(){
            removeName();
            $('#J_info_true_box').hide();
            //移除黑名单管理请求数据
            base.ajax({"type":"POST","url":"/ecapi/shortMessage/delBlacklist",'data':{'blackId':blackIdArry}},function(res){
                if(res.record == 1200){
                    blacklistFn({"pageNum":1,"pageSize":10});
                }
            });
        })
        function removeName(){
            var trLine = $('#blackNameTable tr');
            for(var i = 0;i<trLine.length;i++){
                if(trLine.eq(i).find('.subcheck').is(':checked')){
                    trLine.eq(i).remove();
                }
            }
        }

        //点击取消
        $('#mask').on('click','#J_info_true_box .del',function(){
            $('#J_info_true_box').hide();
        })
        
        //添加黑名单
        $('#mask').on('keyup','#J_balckname',function(e){
            var keycode = event.which;
            if (keycode == 13) { 
                addBlackname();  
            }

        });
        function addBlackname(){
            //添加黑名单请求数据
            var addBlacklistData = {};
                addBlacklistData.number = $('#J_balckname').val();
            base.ajax({"type":"POST","url":"/ecapi/shortMessage/addBlacklist",'data':addBlacklistData},function(res){
                if(res.record == 1200){
                    //base.alerts({"title":"提示","tip":"添加黑名单成功"},function(){})
                    base.popo(res.msg);
                    blacklistFn({"pageNum":1,"pageSize":10});
                }else if(res.record == 1500){
                   base.popo(res.msg);
                }
            });
        }
        /*
        * 所有弹层关闭/取消
        * 公用class="window-close/cancel"
        */
        $("#mask").on('click','.window-close,.cancel',function(){
            $('#mask').addClass('hidden').html();
        })

        /*==========================短信网关配置====================================================*/
        base.ajax({"type":"GET","url":"/ecapi/shortMessage/checkGateway"},function(res){
            if(res.record == 1200){
               $('.congifSms-box').hide();
               $('.smsService-box').show();
            }else{
                $('.smsService-box').hide();
                $('.congifSms-box').show();
            }
        });
        function congifSmsFn(){
            var param1Val = $('#param1').val(),
                param2Val = $('#param2').val(),
                param3Val = $('#param3').val();
            if(param1Val == '' || param2Val == '' || param3Val == ''){
                $('.congifSms-box .btnWrapper .btn').addClass('greyBtn');
                $('.congifSms-box .btnWrapper .btn').removeClass('blueBtn');
                $('.congifSms-box .btnWrapper .btn').css('cursor','default');
                $('.congifSms-box .btnWrapper .btn').attr('disabled');
            }else{
                 $('.congifSms-box .btnWrapper .btn').removeClass('greyBtn');
                 $('.congifSms-box .btnWrapper .btn').addClass('blueBtn');
                 $('.congifSms-box .btnWrapper .btn').css('cursor','pointer');
                 $('.congifSms-box .btnWrapper .btn').removeAttr('disabled');
            }
        }
       $('#param1,#param2,#param3').keydown(function(){
           congifSmsFn();
       })
       $('#param1,#param2,#param3').keyup(function(){
           congifSmsFn();
       })
        //点击确定保存
        $('.congifSms-box').on('click','#sureBtn',function(){
            var shortGateWayData = {};
                shortGateWayData.param1 = $('#param1').val();
                shortGateWayData.param2 = $('#param2').val();
                shortGateWayData.param3 = $('#param3').val(); 
            base.ajax({"type":"POST","url":"/ecapi/shortMessage/shortGateWay",'data':shortGateWayData},function(res){
                if(res.record == 1200){
                    $('.congifSms-box').hide();
                    $('.smsService-box').show();
                    base.popo(res.msg);
                }else{
                    $('.smsService-box').hide();
                    $('.congifSms-box').show();
                    base.popo(res.msg);
                }
            });
        })
       


    }
    return {
        init:init
    };
})

 

posted on 2017-08-07 00:45  fayerSmile  阅读(392)  评论(0编辑  收藏  举报

导航