(仅限bookshop项目)
if (type == "edit") {
getAddressDetail(addressId).then((res) => {
const addressdetail = res;
let _areaCode = "";
let arrData = [];
let provinceData = [];
//倒推地址码算法
//便利全国县区
Object.entries(areaList.county_list).forEach(
([id, text]) => {
//提取出全国名称与所选值相同的县区的地区key,并存储在arrData数组
if (addressdetail.county == text) {
arrData.push(id);
}
}
);
//遍历全国省
Object.entries(areaList.province_list).forEach(
([provinceId, provinceText]) => {
//提取全国省与所选省名称相同的省的key
if (provinceText == addressdetail.province) {
arrData.forEach((value, key) => {
//将其key与之前存储的两个区县key前两位进行比对,并提取数值一致的key
if (
value.substr(0, 2) ==
provinceId.substr(0, 2)
) {
provinceData.push(value);
}
});
}
}
);
Object.entries(areaList.city_list).forEach(
([cityId, cityText]) => {
//提取全国城市与所选城市名称相同的城市的key
if (cityText == addressdetail.city) {
provinceData.forEach((value, key) => {
//将其key与之前存储的province的key前四位进行比对,并将比对过后校验准确的value赋给_areaCode
if (
value.substr(0, 4) ==
cityId.substr(0, 4)
) {
_areaCode = value;
}
});
}
}
);
//获取地址详情
state.addressInfo = {
name: addressdetail.name,
tel: addressdetail.phone,
province: addressdetail.province,
city: addressdetail.city,
county: addressdetail.county,
areaCode: _areaCode,
addressDetail: addressdetail.address,
isDefault: !!addressdetail.is_default,
};
});
}
代码比较臃肿还望谅解