From d1162d855257cb5bd4dc606898d62a2b3bbf12dd Mon Sep 17 00:00:00 2001 From: DH Date: Mon, 4 Mar 2024 08:48:18 +0000 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=BE=AE=E4=BF=A1=E5=AF=BC?= =?UTF-8?q?=E5=85=A5=E6=94=B6=E8=B4=A7=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: DH --- pages/user/address/edit.vue | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/pages/user/address/edit.vue b/pages/user/address/edit.vue index 731d6b31..a1e36d7f 100644 --- a/pages/user/address/edit.vue +++ b/pages/user/address/edit.vue @@ -167,20 +167,26 @@ } state.model = data; } - // 情况二:微信导入 TODO 芋艿:待接入 - if (options.data) { - let data = JSON.parse(options.data); - const areaData = uni.getStorageSync('areaData'); - let provinceArr = areaData.filter(item => item.name == data.province_name); - data.province_id = provinceArr[0].id; - let provinceArr2 = provinceArr[0].children.filter(item => item.name == data.city_name); - data.city_id = provinceArr2[0].id; - let provinceArr3 = provinceArr2[0].children.filter(item => item.name == data.district_name); - data.district_id = provinceArr3[0].id; - state.model = { - ...state.model, - ...data, - }; + // 情况二:微信导入 + if (options.data) { + let data = JSON.parse(options.data); + const areaData = uni.getStorageSync('areaData'); + const findAreaByName = (areas, name) => areas.find(item => item.name === name); + + let provinceObj = findAreaByName(areaData, data.province_name); + let cityObj = provinceObj ? findAreaByName(provinceObj.children, data.city_name) : undefined; + let districtObj = cityObj ? findAreaByName(cityObj.children, data.district_name) : undefined; + let areaId = (districtObj || cityObj || provinceObj).id; + + state.model = { + ...state.model, + areaId, + areaName: [data.province_name, data.city_name, data.district_name].filter(Boolean).join(" "), + defaultStatus: false, + detailAddress: data.address, + mobile: data.mobile, + name: data.consignee, + }; } }); -- Gitee