WebApp【公共组件库】@前端(For Git Submodule)
Tevin
2022-02-21 e44586ff0c279aac29e2f9ba7a1b19a97ecddbe4
forms/chinaArea/ChinaLocations.weapp.js
@@ -1,5 +1,5 @@
/**
 * ChinaLocations
 * ChinaLocations For WeApp
 * @author Tevin
 */
@@ -35,6 +35,7 @@
                const city = {
                    label: children1[code2].name,
                    value: code2,
                    area: children1[code2].area,  // 电话区码
                    children: [],
                };
                if (typeof children1[code2].children !== 'undefined') {
@@ -73,6 +74,9 @@
        let address = '';
        let tempLocationData = ChinaLocationData;
        regions.forEach((code) => {
            if (!code || !tempLocationData[code]) {
                return;
            }
            if (typeof tempLocationData[code].name === 'string') {
                address += tempLocationData[code].name;
            } else {
@@ -84,7 +88,6 @@
    },
    // 省市区名称
    getRegionNames(regions, callback) {
        if (typeof regions === 'string') {
            regions = regions.split(',');
        }
@@ -94,7 +97,7 @@
        let address = [];
        let tempLocationData = ChinaLocationData;
        regions.forEach((code) => {
            if (!tempLocationData[code]) {
            if (!code || !tempLocationData[code]) {
                return;
            }
            if (typeof tempLocationData[code].name === 'string') {
@@ -109,7 +112,6 @@
    },
    // 省市区文本转code
    getRegionCodes(regions, callback) {
        if (typeof regions === 'string') {
            regions = regions.split(',');
        }
@@ -129,7 +131,7 @@
                            if (provinceChildren[cityCode].name === regions[1]) {
                                codes[1] = cityCode;
                                // 区
                                const areaChildren = provinceChildren[cityCode].children;
                                const areaChildren = provinceChildren[cityCode].children || [];
                                for (let areaCode in areaChildren) {
                                    if (areaChildren.hasOwnProperty(areaCode)) {
                                        if (areaChildren[areaCode] === regions[2]) {
@@ -147,6 +149,34 @@
            }
        }
        return codes;
    },
    // 电话区码
    getRegionsArea(regions) {
        if (typeof regions === 'string') {
            regions = regions.split(',');
        }
        if (!regions || regions.length === 0 || !regions[0]) {
            return '';
        }
        let area = '';
        // 省
        for (let provinceCode in ChinaLocationData) {
            if (ChinaLocationData.hasOwnProperty(provinceCode)) {
                if (provinceCode === regions[0]) {
                    // 市
                    const provinceChildren = ChinaLocationData[provinceCode].children;
                    for (let cityCode in provinceChildren) {
                        if (provinceChildren.hasOwnProperty(cityCode)) {
                            if (cityCode === regions[1]) {
                                area = provinceChildren[cityCode].area;
                                break;
                            }
                        }
                    }
                    break;
                }
            }
        }
        return area;
    }
};