diff --git a/components/AddressPicker.vue b/components/AddressPicker.vue index 31ee44b..a57ef1b 100644 --- a/components/AddressPicker.vue +++ b/components/AddressPicker.vue @@ -9,8 +9,6 @@ - - @@ -303,6 +301,9 @@ // 生成完整地址文本 let fullAddress = '' + let selectedId = '' // 用于传给后端的ID + let selectedIds = [] // 多选时的ID数组 + if (this.selectedProvince) { fullAddress += this.selectedProvince.adress } @@ -310,9 +311,12 @@ // 多选城市模式 if (this.multiple && this.selectedCities.length > 0) { const cityNames = this.selectedCities.map(item => item.adress).join(',') - fullAddress += cityNames + fullAddress = cityNames result.selectedAddress = this.selectedProvince // 多选城市时返回省份作为选中地址 result.selectedCities = this.selectedCities + // 返回多选城市的ID数组 + selectedIds = this.selectedCities.map(item => item.id) + result.selectedIds = selectedIds } else if (this.selectedCity) { fullAddress += this.selectedCity.adress @@ -322,20 +326,28 @@ fullAddress += districtNames result.selectedAddress = this.selectedCity // 多选时返回城市作为选中地址 result.selectedDistricts = this.selectedDistricts + // 返回多选区县的ID数组 + selectedIds = this.selectedDistricts.map(item => item.id) + result.selectedIds = selectedIds } else if (this.selectedDistrict) { // 单选区县模式 fullAddress += this.selectedDistrict.adress result.selectedAddress = this.selectedDistrict + selectedId = this.selectedDistrict.id } else { // 选择整个城市 result.selectedAddress = this.selectedCity + selectedId = this.selectedCity.id } } else { // 选择整个省份 result.selectedAddress = this.selectedProvince + selectedId = this.selectedProvince.id } result.fullAddress = fullAddress + result.selectedId = selectedId // 单选时的ID + result.selectedIds = selectedIds // 多选时的ID数组 this.$emit('confirm', result) this.close() diff --git a/components/screen/screenWork.vue b/components/screen/screenWork.vue index 8519149..328723c 100644 --- a/components/screen/screenWork.vue +++ b/components/screen/screenWork.vue @@ -340,7 +340,7 @@ this.result.push({ name: n.type, label: this.popupSelectedAddress, - value: this.popupSelectedAddress == '全部地区' ? 'all' : this.popupSelectedAddress + value: this.popupSelectedAddress == '全部地区' ? 'all' : this.areaId.value // 使用存储的ID值 }) } else { // 其他选项使用tag选择 @@ -372,14 +372,14 @@ // 更新areaId的状态 this.areaId.label = addressResult.fullAddress - this.areaId.value = addressResult.selectedAddress.adress + this.areaId.value = addressResult.selectedId // 使用ID而不是地址文本 console.log('addressResult', addressResult); // 调用clickItem来更新result数组并触发父组件事件 this.clickItem({ label: addressResult.fullAddress, - value: addressResult.selectedAddress.adress, + value: addressResult.selectedId, // 传ID给后端 }) // 关闭下拉菜单 - 通过发送事件来关闭 diff --git a/pages_order/auth/certification.vue b/pages_order/auth/certification.vue index 67ad8ca..2294dbc 100644 --- a/pages_order/auth/certification.vue +++ b/pages_order/auth/certification.vue @@ -166,17 +166,17 @@