From 0560eed4a389f806dc3254a526e929e8476c868a Mon Sep 17 00:00:00 2001 From: Liuyi <candymxq888@outlook.com> Date: 星期日, 29 九月 2024 18:52:51 +0800 Subject: [PATCH] 完成地址管理新增、删除、编辑、设置默认地址,修改navbar组件 --- pages/address/index.vue | 89 +++++++++++++++++++++++++++++++++----------- 1 files changed, 66 insertions(+), 23 deletions(-) diff --git a/pages/address/index.vue b/pages/address/index.vue index cc4fbc5..2343167 100644 --- a/pages/address/index.vue +++ b/pages/address/index.vue @@ -1,23 +1,66 @@ <script setup> import { ref ,onMounted } from 'vue' - const addressList = ref([ - {name:'张大左',phone:'13512334002',address:'重庆 重庆市 北碚区 互联网产业生态园 2-5-1',checked:true,id:'12'}, - {name:'张大左',phone:'13512334002',address:'重庆 重庆市 北碚区 互联网产业生态园 2-5-1',checked:true,id:'12'}, - {name:'张大左',phone:'13512334002',address:'重庆 重庆市 北碚区 互联网产业生态园 2-5-1',checked:true,id:'12'}, - {name:'张大左',phone:'13512334002',address:'重庆 重庆市 北碚区 互联网产业生态园 2-5-1',checked:true,id:'12'}, - {name:'张大左',phone:'13512334002',address:'重庆 重庆市 北碚区 互联网产业生态园 2-5-1',checked:true,id:'12'}, - {name:'张大左',phone:'13512334002',address:'重庆 重庆市 北碚区 互联网产业生态园 2-5-1',checked:true,id:'12'}, - {name:'',phone:'',address:'',checked:false,id:''}, - {name:'',phone:'',address:'',checked:false,id:''}, - {name:'',phone:'',address:'',checked:false,id:''}, - ]) - function navTo(){ - let title = '新增地址' - let id = 0 - uni.navigateTo({ - url:'/pages/addressAdd/index' + import { searchAddress,editAddress,setAddressDefaultApi,deleteAddressApi } from '../../api/index.js'; + import { onShow } from "@dcloudio/uni-app" + const addressList = ref([]) + async function getAddressList(){ + await searchAddress({limit:100,page:1}).then((res) =>{ + if(res.code == 200){ + res.data.list.forEach((item) =>{ + res.data.list.forEach((item) =>{ + item.isDefault = item.isDefault == 1 ? true : false + item.addressWhole = item.regionName.replace(/[,#]/g,' ') + item.address + }) + }) + addressList.value = res.data.list + } }) } + async function setDefault(isDefault,id,index1){ + if(isDefault == true){ + console.log('true') + }else{ + console.log('false') + await setAddressDefaultApi(id).then((res) =>{ + if(res.code == 200){ + getAddressList() + }else{ + uni.showToast({ + title: '设置失败', + image: '../../static/images/other/success.svg', + duration:500 + }) + } + }) + } + } + async function deleteAddress(id){ + await deleteAddressApi(id).then((res) =>{ + if(res.code == 200){ + uni.showToast({ + title: '删除成功', + image: '../../static/images/other/success.svg', + duration:500 + }) + getAddressList() + } + }) + } + + function navToModify(id){ + uni.navigateTo({ + url:`/pages/addressAdd/index?id=${id}` + }) + } + function navToAdd(){ + let id = null + uni.navigateTo({ + url:`/pages/addressAdd/index?id=${id}` + }) + } + onShow(async() =>{ + getAddressList() + }) </script> <template> <view class="container"> @@ -27,22 +70,22 @@ <block v-for="(item,index) in addressList"> <view class="address-item"> <view class="user-info"> - <text>{{item.name}}</text> - <text>{{item.phone}}</text> + <text>{{item.userName}}</text> + <text>{{item.userPhone}}</text> </view> - <view class="address-info">{{item.address}}</view> + <view class="address-info">{{item.addressWhole}}</view> <view class="address-divide"></view> <view class="handel"> <view class="handel-left"> - <radio color = "#4996E3" :value="item.id" :checked="item.checked"></radio> + <radio color = "#4996E3" :value="item.id" :checked="item.isDefault" @click="setDefault(item.isDefault,item.id,index)"></radio> <text>设为默认</text> </view> <view class="handel-right"> - <view> + <view @click="navToModify(item.id)"> <image src="../../static/images/address/edit.png" alt=""></image> <text>编辑</text> </view> - <view> + <view @click="deleteAddress(item.id)"> <image src="../../static/images/address/delete.png" alt=""></image> <text>删除</text> </view> @@ -51,7 +94,7 @@ </view> </block> </view> - <view class="subBtn" @click="navTo()">新增收货地址</view> + <view class="subBtn" @click="navToAdd()">新增收货地址</view> </view> </view> </template> -- Gitblit v1.9.3