hookehuyr

fix

......@@ -141,12 +141,31 @@ const fullAddress = computed(() => {
* @param {Object} addressData - 地址数据对象
*/
const initAddressData = (addressData) => {
if (addressData.province && addressData.city && addressData.county) {
// 优先使用code值来设置级联选择器的选中状态
if (addressData.province_code && addressData.city_code && addressData.county_code) {
selectedAreaCodes.value = [
addressData.province_code,
addressData.city_code,
addressData.county_code
]
// 根据code值查找对应的文本
const provinceNode = findNodeByCode(areaData.value, addressData.province_code)
const cityNode = provinceNode?.children ? findNodeByCode(provinceNode.children, addressData.city_code) : null
const countyNode = cityNode?.children ? findNodeByCode(cityNode.children, addressData.county_code) : null
if (provinceNode && cityNode && countyNode) {
selectedAreaText.value = `${provinceNode.text}${cityNode.text}${countyNode.text}`
}
detailAddress.value = addressData.detail_address || addressData.idcard_address || ''
} else if (addressData.province && addressData.city && addressData.county) {
// 兼容旧的文本格式
selectedAreaText.value = `${addressData.province}${addressData.city}${addressData.county}`
detailAddress.value = addressData.detail_address || ''
detailAddress.value = addressData.detail_address || addressData.idcard_address || ''
// 尝试根据文本查找对应的code值(可选实现)
} else {
selectedAreaText.value = ''
detailAddress.value = ''
detailAddress.value = addressData.detail_address || addressData.idcard_address || ''
selectedAreaCodes.value = []
}
}
......
<!--
* @Date: 2022-09-19 14:11:06
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2025-08-12 17:13:50
* @LastEditTime: 2025-08-12 18:08:16
* @FilePath: /jgdl/src/pages/collectionSettings/index.vue
* @Description: 收款设置
-->
......@@ -457,6 +457,21 @@ const getUserInfo = async () => {
idcard_district: userInfo.idcard_district || '',
idcard_address: userInfo.idcard_address || ''
};
// 同时更新地址选择器的数据,包含code值用于还原选中状态
if (userInfo.idcard_province && userInfo.idcard_city && userInfo.idcard_district) {
addressData.value = {
province: userInfo.province_name || '',
city: userInfo.city_name || '',
county: userInfo.county_name || userInfo.district_name || '',
province_code: userInfo.idcard_province,
city_code: userInfo.idcard_city,
county_code: userInfo.idcard_district,
detail_address: userInfo.idcard_address || '',
idcard_address: userInfo.idcard_address || '',
full_address: `${userInfo.province_name || ''}${userInfo.city_name || ''}${userInfo.county_name || userInfo.district_name || ''} ${userInfo.idcard_address || ''}`.trim()
};
}
}
}
} catch (error) {
......@@ -1116,7 +1131,11 @@ const addressData = ref({
province: '',
city: '',
county: '',
province_code: '',
city_code: '',
county_code: '',
detail_address: '',
idcard_address: '',
full_address: ''
})
......