hookehuyr

fix(collectionSettings): 修复地址显示异常并优化地址数据处理逻辑

修复地址显示中可能出现的'NaN'问题,并优化地址数据的拼接和处理逻辑,确保地址显示正确
1 <!-- 1 <!--
2 * @Date: 2022-09-19 14:11:06 2 * @Date: 2022-09-19 14:11:06
3 * @LastEditors: hookehuyr hookehuyr@gmail.com 3 * @LastEditors: hookehuyr hookehuyr@gmail.com
4 - * @LastEditTime: 2025-08-12 18:30:09 4 + * @LastEditTime: 2025-08-13 09:50:04
5 * @FilePath: /jgdl/src/pages/collectionSettings/index.vue 5 * @FilePath: /jgdl/src/pages/collectionSettings/index.vue
6 * @Description: 收款设置 6 * @Description: 收款设置
7 --> 7 -->
...@@ -199,8 +199,8 @@ ...@@ -199,8 +199,8 @@
199 class="address-selector" 199 class="address-selector"
200 @click="showAddressSelector = true" 200 @click="showAddressSelector = true"
201 > 201 >
202 - <text class="address-text" :class="{ 'address-selected': addressData.full_address }"> 202 + <text class="address-text" :class="{ 'address-selected': addressData.full_address && addressData.full_address !== 'NaN' }">
203 - {{ addressData.full_address || '请选择省市县并填写详细地址' }} 203 + {{ (addressData.full_address && addressData.full_address !== 'NaN' && addressData.full_address.trim()) || '请选择省市县并填写详细地址' }}
204 </text> 204 </text>
205 <RectRight color="#999" size="10" /> 205 <RectRight color="#999" size="10" />
206 </view> 206 </view>
...@@ -691,15 +691,28 @@ const openIdentityModal = () => { ...@@ -691,15 +691,28 @@ const openIdentityModal = () => {
691 * 初始化地址选择器数据 691 * 初始化地址选择器数据
692 */ 692 */
693 const initAddressData = () => { 693 const initAddressData = () => {
694 + const province = tempIdentityInfo.value.province || ''
695 + const city = tempIdentityInfo.value.city || ''
696 + const county = tempIdentityInfo.value.county || ''
697 + const detailAddress = tempIdentityInfo.value.idcard_address || ''
698 +
699 + // 安全地拼接完整地址,只有在有有效数据时才拼接
700 + let fullAddress = ''
701 + if (province || city || county || detailAddress) {
702 + const addressParts = [province, city, county].filter(part => part && part.trim())
703 + const areaText = addressParts.join('')
704 + fullAddress = detailAddress ? `${areaText} ${detailAddress}`.trim() : areaText
705 + }
706 +
694 addressData.value = { 707 addressData.value = {
695 - province: tempIdentityInfo.value.province || '', 708 + province,
696 - city: tempIdentityInfo.value.city || '', 709 + city,
697 - county: tempIdentityInfo.value.county || '', 710 + county,
698 province_code: tempIdentityInfo.value.idcard_province || '', 711 province_code: tempIdentityInfo.value.idcard_province || '',
699 city_code: tempIdentityInfo.value.idcard_city || '', 712 city_code: tempIdentityInfo.value.idcard_city || '',
700 county_code: tempIdentityInfo.value.idcard_district || '', 713 county_code: tempIdentityInfo.value.idcard_district || '',
701 - detail_address: tempIdentityInfo.value.idcard_address || '', 714 + detail_address: detailAddress,
702 - full_address: (tempIdentityInfo.value.province + tempIdentityInfo.value.city + tempIdentityInfo.value.county + tempIdentityInfo.value.idcard_address) || '' 715 + full_address: fullAddress
703 } 716 }
704 }; 717 };
705 718
......