| | |
| | | /** |
| | | * ChinaLocations |
| | | * ChinaLocations For WeApp |
| | | * @author Tevin |
| | | */ |
| | | |
| | |
| | | const city = { |
| | | label: children1[code2].name, |
| | | value: code2, |
| | | area: children1[code2].area, // 电话区码 |
| | | children: [], |
| | | }; |
| | | if (typeof children1[code2].children !== 'undefined') { |
| | |
| | | |
| | | export default { |
| | | onReady(callback) { |
| | | if (ChinaLocationData.length > 0) { |
| | | if (locationTree.length > 0) { |
| | | callback(); |
| | | } else { |
| | | readyCallback = callback; |
| | |
| | | let address = ''; |
| | | let tempLocationData = ChinaLocationData; |
| | | regions.forEach((code) => { |
| | | if (typeof tempLocationData[code].name === 'string') { |
| | | address += tempLocationData[code].name; |
| | | if (!code || !tempLocationData[code]) { |
| | | address.push(''); |
| | | tempLocationData = []; |
| | | } else { |
| | | address += tempLocationData[code]; |
| | | if (typeof tempLocationData[code].name === 'string') { |
| | | address += tempLocationData[code].name; |
| | | } else { |
| | | address += tempLocationData[code]; |
| | | } |
| | | tempLocationData = tempLocationData[code].children; |
| | | } |
| | | tempLocationData = tempLocationData[code].children; |
| | | }); |
| | | return address; |
| | | }, |
| | |
| | | let address = []; |
| | | let tempLocationData = ChinaLocationData; |
| | | regions.forEach((code) => { |
| | | if (!tempLocationData[code]) { |
| | | return; |
| | | } |
| | | if (typeof tempLocationData[code].name === 'string') { |
| | | address.push(tempLocationData[code].name); |
| | | if (!code || !tempLocationData[code]) { |
| | | address.push(''); |
| | | tempLocationData = []; |
| | | } else { |
| | | address.push(tempLocationData[code]); |
| | | if (typeof tempLocationData[code].name === 'string') { |
| | | address.push(tempLocationData[code].name); |
| | | } else { |
| | | address.push(tempLocationData[code]); |
| | | } |
| | | tempLocationData = tempLocationData[code].children; |
| | | } |
| | | tempLocationData = tempLocationData[code].children; |
| | | }); |
| | | return address; |
| | | |
| | |
| | | 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]) { |
| | |
| | | } |
| | | } |
| | | 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; |
| | | } |
| | | }; |