CRM平台默认方法

CRM平台前端内置多个默认处理程序,便于高速开发,这些方法一般放在crm.portal.js里。

统一异步请求前处理

在这里统一处理网站的异步请求。

window._token = ($("meta[name='_csrf']").length ? $("meta[name='_csrf']") : $(top.document).find("meta[name='_csrf']")).attr("content");
    window._header = ($("meta[name='_csrf_header']").length ? $("meta[name='_csrf_header']") : $(top.document).find("meta[name='_csrf_header']")).attr("content");
    headers[_header] = _token;
    $(document).ajaxSend(function (e, xhr) {
        if (xhr.setRequestHeader) {//设置请求头
            xhr.setRequestHeader(_header, _token);
            xhr.setRequestHeader('sendType', 'ajax');
        }
        try {
            xhr.done(function (data) {//超时处理
                try {
                    data = typeof data == 'string' ? JSON.parse(data) : data;
                } catch (e) {
                }
                if (data.status == 'timeout') {
                    top.location.href = top.location.href;
                    return;
                }
            });
        } catch (e) {
            console.log('xhr不存在或者xhr没有done方法')
        }
    });

表单

表单由多个程序处理,负责不同的功能

//这里处理表单只有一个name时button触发的表单默认事件
$('form.crm-form').on('submit', function () {
    return false
});

//绑定查询表单的回车查询
$('form').on('keyup', function (e) {
    if (e.keyCode == 13) {
        var $query = $(this).find('*[data-type="query"]');
        $query.length ? $query.click() : (event.currentTarget.id == 'myqueryForm' ? myquery() : (window.query || function () {
        })());
    }
});

//限制电话类型输入框长度和内容
$(document).on('input', "input[name=dhQuery],input[name=mphone],input[name=phoneNum],input[name=dhhm],input[name=osPhone],input[name=phone],input[data-type=phone]", function () {
    //如果是固定电话类型可以加特殊符号‘-’,比正常电话11位号码多一位
    var maxLength = /\-/g.test(this.value) ? 13 : 11;
    $(this).val((this.value.split('-').length > 2 || this.value.length > maxLength) ? this.value.substring(0, this.value.length - 1) : this.value.replace([3, 4].indexOf(this.value.indexOf('-')) < 0 ? /[^\d]+/g : /[^\d-]+/g, ''));
}).on('input', 'input[data-type=money]', function () {
    //只能输入浮点数字类型
    var _val = this.value.replace(/[^.\d]+/g, '');
    if (/(^\.+)|(([^]*[.]){2})/.test(this.value)) {
        var _regex = /\d+(\.\d*)?/.exec(this.value);
        _val = (_regex && _regex.length) ? _regex[0] : this.value.substring(0, this.value.length - 1);
    }
    $(this).val(_val);
});

// 去掉input框的空格
$('input[type=text]').on('blur', function () {
    $(this).val($.trim($(this).val()));
});

kungeekUI插件触发

$(document).ready(function () {
    // 触发数据表格
    $('table.kungeekui-datagrid').each(function () {
        new Datagrid({
        target: $(this)
        });
    })
    // 触发日期选择框
    if (window.moment) {
        $('input.kg-dateSelect[type="text"]').dateSelect();
    }
})

bootstrap组件触发

在这里默认触发bootstrap的组件功能。

//页签
$('#navTabs a').click(function (e) {
    e.preventDefault()
    $(this).tab('show')
})
//显示更多
$('.crm-show-more').on('click', function () {
    $(this).toggleClass('expand');
})

results matching ""

    No results matching ""