gb_basic_data.js 2.03 KB
/**
 * 相关基础数据
 */
var gb_basic_data = (function () {

    var lineArray;//线路集合,包含拼音映射
    var lineCode2NameMaps;
    var personsArray;
    var busArray;

    var init = function (cb) {
        var ep = EventProxy.create("line_code2name", "persons", "buss", function (lineCode2Names, personsList, busList) {
            lineCode2NameMaps = lineCode2Names;
            personsArray = personsList;
            busArray = busList;

            cb && cb();
        });

        //线路code 2 name
        gb_common.$get('/line/all', {}, function (rs) {
            var maps={},list=rs.list;
            lineArray = [];
            for(var i=0,line;line=list[i++];){
                maps[line.lineCode]=line.name;
                //拼音映射
                line.nameFullChars = pinyin.getFullChars(line.name).toUpperCase();
                line.nameCamelChars = pinyin.getCamelChars(line.name);
                lineArray.push(line);
            }
            lineArray.sort(function (a, b) {
               return a.name.localeCompare(b.name);
            });
            ep.emit('line_code2name', maps);
        });

        //人员信息
        gb_common.$get('/person/allConcise', {}, function (rs) {
            ep.emit('persons', rs.list);
        });

        //车辆信息
        gb_common.$get('/bus/allConcise', {}, function (rs) {
            ep.emit('buss', rs.list);
        });
    };

    var findLineNameByCode = function (code) {
        return lineCode2NameMaps[code];
    };

    return {
        init: init,
        findLineNameByCode: findLineNameByCode,
        findAllPerson: function () {
            return personsArray;
        },
        findAllBus: function () {
            return busArray;
        },
        findAllLine: function () {
            return lineArray;
        },
        getCodeByName: function (name) {
            for(var code in lineCode2NameMaps){
                if(lineCode2NameMaps[code]==name)
                    return code;
            }
            return null;
        }
    }
})();