panjamin
6/11/2018 - 9:32 AM

Common.js

//各类参数配置
var _GetSystemDicUrl = "../common/GetSystemDicList";
var _GetDicUrl = "../common/GetDicList";

//需要立刻执行函数
$(function() {
    $.fn.select2.defaults.set("theme", "bootstrap");
    initSelect2();
    initDateTimeControl();
    initDateTimeMonthControl();
    initDateTimeMonthHourControl();
    initDateTimeHourControl();
    initDateTimYearControl();
    //  $('[data-toggle="tooltip"]').tooltip();
});

// NProgress
if (typeof NProgress !== "undefined") {
    $(document).ready(function() {
        NProgress.start();
    });
    $(function() {
        NProgress.done();
    });
}

// hardcode字典表
function initSystemDicSelect2(type, selectcontrolid, firstnodename) {
    $("#" + selectcontrolid).select2();
    initSystemDicSelect(type, selectcontrolid, firstnodename);
}

function initSystemDicSelect(type, selectcontrolid, firstnodename) {
    var json = getSystemDic(type);
    if (!json)
        return;

    if (json.status !== "1")
        return;

    json = json.msg;
    if (json === "") {
        return;
    }
    $("#" + selectcontrolid).append("<option value=''>" + firstnodename + "</option>");
    $.each(json,
        function(i) {
            $("#" + selectcontrolid).append("<option value='" + json[i].text + "'>" + json[i].text + "</option>");
        });
}

function initSystemDicSelect2WithText(type, selectcontrolid, firstnodename, selectedText) {
    $("#" + selectcontrolid).select2();
    initSystemDicSelectWithText(type, selectcontrolid, firstnodename, selectedText);
}

function initSystemDicSelectWithText(type, selectcontrolid, firstnodename, selectedText) {
    var json = getSystemDic(type);
    if (!json)
        return;
    if (json.status !== "1")
        return;

    json = json.msg;
    if (json === "") {
        return;
    }
    if (selectedText === null) {
        selectedText = "";
    }
    $("#" + selectcontrolid).append("<option value=''>" + firstnodename + "</option>");
    $.each(json,
        function(i) {
            if (selectedText === json[i].text) {
                $("#" + selectcontrolid).append("<option value='" +
                    json[i].text +
                    "' selected='selected'>" +
                    json[i].text +
                    "</option>");
            } else {
                $("#" + selectcontrolid)
                    .append("<option value='" + json[i].text + "'>" + json[i].text + "</option>");
            }
        });
}

function getSystemDic(type) {
    var enumHandleUrl = _GetSystemDicUrl;
    $.ajaxSettings.async = false;
    var url = enumHandleUrl + "?type=" + type;
    var returndata;
    $.getJSON(url,
        null,
        function(json) {
            returndata = json;
        });
    return returndata;
}

//数据库字典
function initDicSelect2(type, parentId, selectcontrolid, firstnodename) {
    $("#" + selectcontrolid).select2();
    initDicSelect(type, parentId, selectcontrolid, firstnodename);
}

function initDicSelect(type, parentId, selectcontrolid, firstnodename) {
    $("#" + selectcontrolid).empty();

    var json = getDicList(type, parentId);
    if (!json)
        return;
    if (json.status !== "1")
        return;

    json = json.msg;
    if (json === "") {
        return;
    }
    $("#" + selectcontrolid).append("<option value=''>" + firstnodename + "</option>");
    $.each(json,
        function(i) {
            $("#" + selectcontrolid)
                .append("<option value='" + json[i].DicId + "'>" + json[i].Display + "</option>");
        });
}

function initDicSelect2Empty(selectcontrolid, firstnodename) {
    $("#" + selectcontrolid).select2();
    initDicSelectEmpty(selectcontrolid, firstnodename);
}

function initDicSelectEmpty(selectcontrolid, firstnodename) {
    $("#" + selectcontrolid).empty();
    $("#" + selectcontrolid).append("<option value=''>" + firstnodename + "</option>");
}

function initDicSelect2WithValue(type, parentId, selectcontrolid, firstnodename, selectedValue) {
    $("#" + selectcontrolid).select2();
    initDicSelectWithValue(type, parentId, selectcontrolid, firstnodename, selectedValue);
}

function initDicSelectWithValue(type, parentId, selectcontrolid, firstnodename, selectedValue) {
    var json = getDicList(type, parentId);
    if (!json)
        return;
    if (json.status !== "1")
        return;

    json = json.msg;
    if (json === "") {
        return;
    }
    if (selectedValue === null) {
        selectedValue = "";
    }
    $("#" + selectcontrolid).append("<option value=''>" + firstnodename + "</option>");
    $.each(json,
        function(i) {
            if (json[i].Value != null && selectedValue.toString() === json[i].Value.toString()) {
                $("#" + selectcontrolid).append("<option value='" +
                    json[i].DicId +
                    "' selected='selected'>" +
                    json[i].Display +
                    "</option>");
            } else {
                $("#" + selectcontrolid)
                    .append("<option value='" + json[i].DicId + "'>" + json[i].Display + "</option>");
            }
        });
}

function getDicList(type, parentId) {
    var enumHandleUrl = _GetDicUrl;
    $.ajaxSettings.async = false;
    var url = enumHandleUrl + "?type=" + type + "&parentId=" + parentId;
    var returndata;
    $.getJSON(url,
        null,
        function(json) {
            returndata = json;
        });
    return returndata;
}

//日期控件
function clearSingleTime(controlId) {
    $("#" + controlId).val("");
}

//clearTime('tbLeadsBirthday', 'tbLeadsBirthday_begin', 'tbLeadsBirthday_end')
function clearTime(controlId, controlFrom, controlTo) {
    $("#" + controlId).val("");
    $("#" + controlFrom).val("");
    $("#" + controlTo).val("");
}

//daterangepicker
//daterangepickerInit('tbLeadsBirthday', 'tbLeadsBirthday_begin', 'tbLeadsBirthday_end');
function daterangepickerInit(controlId, controlFrom, controlTo) {
    $("#" + controlId).daterangepicker({
            "autoApply": true,
            "alwaysShowCalendars": true,
            separator: " to ",
            ranges: {
                '今日': [moment().startOf("day"), moment()],
                '昨日': [moment().subtract("days", 1).startOf("day"), moment().subtract("days", 1).endOf("day")],
                '最近7日': [moment().subtract("days", 6), moment()],
                '最近30日': [moment().subtract("days", 29), moment()]
            },
            "opens": "center",
            "autoUpdateInput": false,
            locale: {
                applyLabel: "确定",
                cancelLabel: "取消",
                fromLabel: "起始时间",
                toLabel: "结束时间",
                customRangeLabel: "自定义",
                daysOfWeek: ["日", "一", "二", "三", "四", "五", "六"],
                monthNames: [
                    "一月", "二月", "三月", "四月", "五月", "六月",
                    "七月", "八月", "九月", "十月", "十一月", "十二月"
                ],
                firstDay: 1
            },
        },
        function(start, end, label) {
            $("#" + controlFrom).val(start.format("YYYY-MM-DD"));
            $("#" + controlTo).val(end.format("YYYY-MM-DD"));
            $("#" + controlId).val(start.format("YYYY/MM/DD") + " - " + end.format("YYYY/MM/DD"));
        });

    $("#" + controlId).val("");
    $("#" + controlId).width(190);
}

//datetimepicker
function initDateTimeControl() {
    $(".datetimecontrol").datetimepicker({
        language: "zh-CN",
        weekStart: 1,
        todayBtn: 1,
        autoclose: 1,
        todayHighlight: 1,
        startView: 2,
        minView: 2,
        forceParse: 0,
        format: "yyyy-mm-dd"
    });
}

function initDateTimeMonthControl() {
    $(".datetimecontrolmonth").datetimepicker({
        language: "zh-CN",
        weekStart: 1,
        todayBtn: 1,
        autoclose: 1,
        todayHighlight: 1,
        startView: 3,
        minView: 3,
        forceParse: 0,
        format: "yyyy-mm"
    });
}

function initDateTimeMonthHourControl() {
    $(".datetimecontrolmonthhour").datetimepicker({
        language: "zh-CN",
        weekStart: 1,
        todayBtn: 1,
        autoclose: 1,
        todayHighlight: 1,
        startView: 2,
        minView: 0,
        maxView: 4,
        forceParse: 0,
        format: "yyyy-mm-dd hh:ii"
    });
}

function initDateTimeHourControl() {
    $(".datetimecontrolhour").datetimepicker({
        language: "zh-CN",
        weekStart: 1,
        todayBtn: 1,
        autoclose: 1,
        startView: 1,
        minView: 0,
        maxView: 4,
        forceParse: 0,
        format: "hh:ii"
    });
}

function initDateTimYearControl() {
    $(".datetimecontrolyear").datetimepicker({
        language: "zh-CN",
        weekStart: 1,
        todayBtn: 1,
        autoclose: 1,
        startView: 4,
        minView: 4,
        maxView: 4,
        forceParse: 0,
        format: "yyyy年"
    });
}

//jalert提示框

function alertError(msg, errorControl) {
    $.jAlert({
        'title': "注意",
        'content': msg,
        'theme': "red",
        'size': "md",
        'closeOnClick': true,
        'showAnimation': "flipInX",
        'hideAnimation': "flipOutX",
        'onClose': function(alertElem) { errorControl.focus(); },
        'btns': [{ 'text': "关闭", 'theme': "red" }]
    });
}

function alertError(errorNum, msg, errorControl) {
    $.jAlert({
        'title': "注意(" + errorNum + ")",
        'content': msg,
        'theme': "red",
        'size': "md",
        'closeOnClick': true,
        'showAnimation': "flipInX",
        'hideAnimation': "flipOutX",
        'onClose': function(alertElem) { errorControl.focus(); },
        'btns': [{ 'text': "关闭", 'theme': "red" }]
    });
}

function alertResultFail(msg) {
    $.jAlert({
        'title': "出错",
        'content': msg,
        'theme': "red",
        'size': "md",
        'closeOnClick': true,
        'showAnimation': "bounceIn",
        'hideAnimation': "bounceOut",
        'btns': [{ 'text': "关闭", 'theme': "red" }]
    });
}

function alertResultSuccess(msg) {
    $.jAlert({
        'title': "成功",
        'content': msg,
        'theme': "green",
        'size': "md",
        'closeOnClick': true,
        'showAnimation': "fadeInUp",
        'hideAnimation': "fadeOutDown",
        'btns': [{ 'text': "关闭", 'theme': "green" }]
    });
}

function alertResultSuccess_AutoClose(msg) {
    $.jAlert({
        'title': "成功",
        'content': msg,
        'theme': "green",
        'size': "md",
        'onClose': openerReloadSelfClose,
        'closeOnClick': true,
        'showAnimation': "fadeInUp",
        'hideAnimation': "fadeOutDown",
        'btns': [{ 'text': "关闭", 'theme': "green" }]
    });
    setTimeout('openerReloadSelfClose()', 5000);
}

function openerReloadSelfClose() {
    window.opener.location.reload();
    window.close();
}

//控件长度显示控件
function getLength(fromcontrolname, displaycontrolname, requirelength) {
    var temp = $("#" + fromcontrolname).val().length;
    if (requirelength === "") {
        $("#" + displaycontrolname).text(temp);
    } else {
        $("#" + displaycontrolname).text(temp + "/" + requirelength);
    }
}

//获取数据
function getDateTime(v, format) {
    if (v !== null)
        return moment(v).format(format);
    else
        return "";
}

//数字To大写

function numToCny(Num) {
    for (i = Num.length - 1; i >= 0; i--) {
        Num = Num.replace(",", ""); //替换tomoney()中的“,”
        Num = Num.replace(" ", ""); //替换tomoney()中的空格
    }

    Num = Num.replace("¥", "").replace("-", ""); //替换掉可能出现的¥字符
    if (isNaN(Num)) {
        //验证输入的字符是否为数字
        alert("请检查小写金额是否正确");
        return;
    }
    //---字符处理完毕,开始转换,转换采用前后两部分分别转换---//
    part = String(Num).split(".");
    newchar = "";
    //小数点前进行转化
    for (i = part[0].length - 1; i >= 0; i--) {
        if (part[0].length > 10) {
            alert("位数过大,无法计算");
            return "";
        } //若数量超过拾亿单位,提示
        tmpnewchar = "";
        perchar = part[0].charAt(i);
        switch (perchar) {
            case "0":
                tmpnewchar = "零" + tmpnewchar;
                break;
            case "1":
                tmpnewchar = "壹" + tmpnewchar;
                break;
            case "2":
                tmpnewchar = "贰" + tmpnewchar;
                break;
            case "3":
                tmpnewchar = "叁" + tmpnewchar;
                break;
            case "4":
                tmpnewchar = "肆" + tmpnewchar;
                break;
            case "5":
                tmpnewchar = "伍" + tmpnewchar;
                break;
            case "6":
                tmpnewchar = "陆" + tmpnewchar;
                break;
            case "7":
                tmpnewchar = "柒" + tmpnewchar;
                break;
            case "8":
                tmpnewchar = "捌" + tmpnewchar;
                break;
            case "9":
                tmpnewchar = "玖" + tmpnewchar;
                break;
        }
        switch (part[0].length - i - 1) {
            case 0:
                tmpnewchar = tmpnewchar + "元";
                break;
            case 1:
                if (perchar !== 0) tmpnewchar = tmpnewchar + "拾";
                break;
            case 2:
                if (perchar !== 0) tmpnewchar = tmpnewchar + "佰";
                break;
            case 3:
                if (perchar !== 0) tmpnewchar = tmpnewchar + "仟";
                break;
            case 4:
                tmpnewchar = tmpnewchar + "万";
                break;
            case 5:
                if (perchar !== 0) tmpnewchar = tmpnewchar + "拾";
                break;
            case 6:
                if (perchar !== 0) tmpnewchar = tmpnewchar + "佰";
                break;
            case 7:
                if (perchar !== 0) tmpnewchar = tmpnewchar + "仟";
                break;
            case 8:
                tmpnewchar = tmpnewchar + "亿";
                break;
            case 9:
                tmpnewchar = tmpnewchar + "拾";
                break;
        }
        newchar = tmpnewchar + newchar;
    }
    //小数点之后进行转化
    if (Num.indexOf(".") !== -1) {
        if (part[1].length > 2) {
            alert("小数点之后只能保留两位,系统将自动截段");
            part[1] = part[1].substr(0, 2);
        }
        for (i = 0; i < part[1].length; i++) {
            tmpnewchar = "";
            perchar = part[1].charAt(i);
            switch (perchar) {
                case "0":
                    tmpnewchar = "零" + tmpnewchar;
                    break;
                case "1":
                    tmpnewchar = "壹" + tmpnewchar;
                    break;
                case "2":
                    tmpnewchar = "贰" + tmpnewchar;
                    break;
                case "3":
                    tmpnewchar = "叁" + tmpnewchar;
                    break;
                case "4":
                    tmpnewchar = "肆" + tmpnewchar;
                    break;
                case "5":
                    tmpnewchar = "伍" + tmpnewchar;
                    break;
                case "6":
                    tmpnewchar = "陆" + tmpnewchar;
                    break;
                case "7":
                    tmpnewchar = "柒" + tmpnewchar;
                    break;
                case "8":
                    tmpnewchar = "捌" + tmpnewchar;
                    break;
                case "9":
                    tmpnewchar = "玖" + tmpnewchar;
                    break;
            }
            if (i === 0) tmpnewchar = tmpnewchar + "角";
            if (i === 1) tmpnewchar = tmpnewchar + "分";
            newchar = newchar + tmpnewchar;
        }
    }
    //替换所有无用汉字
    while (newchar.search("零零") !== -1)
        newchar = newchar.replace("零零", "零");
    newchar = newchar.replace("零亿", "亿");
    newchar = newchar.replace("亿万", "亿");
    newchar = newchar.replace("零万", "万");
    newchar = newchar.replace("零元", "元");
    newchar = newchar.replace("零角", "");
    newchar = newchar.replace("零分", "");

    if (newchar.charAt(newchar.length - 1) === "元" || newchar.charAt(newchar.length - 1) === "角")
        newchar = newchar + "整";
    return newchar;
}

function displayNumToCnyById(displayId, contolId) {
    var num = $("#" + contolId).val();
    $("#" + displayId).text(numToCny(num));
}

function displayNumToCny(displayId, contol) {
    var num = $(contol).val();
    $("#" + displayId).text(numToCny(num));
}

//输入数字
function inputNum(obj) {
    $(obj).val($(obj).val().replace(/[^(\d||/.)]/g, ''));
}

//千分符
function formatnum(num) {
    if (num == null)
        return 0;
    num = new Number(num);
    return (num.toFixed(2) + "").replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, "$&,");
}

function formatmoney(num) {
    if (num == null)
        return 0;
    num = new Number(num);
    return "¥" + (num.toFixed(2) + "").replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, "$&,");
}

function formatnumNoPoint(num) {
    if (num == null)
        return 0;
    num = new Number(num);
    return (num.toFixed(0) + "").replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, "$&,");
}

//数字转化成万
function displayNumWan(data) {
    data = data / 10000;
    data = data + " 万";
    return data;
}

//Leads

function displayChannelSources(level1, level2, level3) {
    var temp = "";
    if (level1 === null || level1 === "") {
        return temp;
    }
    temp = level1;

    if (level2 === null || level2 === "") {
        return temp;
    }
    temp += "-" + level2;

    if (level3 === null || level3 === "") {
        return temp;
    }
    temp += "-" + level3;
    return temp;
}

function displayContactMethods(level1, level2) {
    var temp = "";
    if (level1 === null || level1 === "") {
        return temp;
    }
    temp += level1;

    if (level2 === null || level2 === "") {
        return temp;
    }
    temp += "-" + level2;

    return temp;
}

//select2
function initSelect2() {
    $(".select2control").select2();
    $(".select2controlHideSearchBox").select2({
        minimumResultsForSearch: Infinity
    });
}

//BuildThumbnailUrl
function buildThumbnail(visiturl) {
    var temp1 = visiturl.substr(0, visiturl.lastIndexOf("/"));
    var temp2 = visiturl.substr(visiturl.lastIndexOf("/"), visiturl.length - 1);
    return temp1 + "/thumbnail" + temp2;
}

function buildBigThumbnail(visiturl) {
    var temp1 = visiturl.substr(0, visiturl.lastIndexOf("/"));
    var temp2 = visiturl.substr(visiturl.lastIndexOf("/"), visiturl.length - 1);
    return temp1 + "/bigthumbnail" + temp2;
}