Commit 77781584 authored by 刘玉宏's avatar 刘玉宏

添加地址

parent fd021984
......@@ -20,7 +20,7 @@ export async function updateAddress(data) {
export async function deleteAddress(addrId) {
return request({
url: `/sgyrdd/useraddr/delete/${addrId}`,
method: 'GET',
method: 'POST',
});
}
// 查询收货地址列表
......
......@@ -79,9 +79,11 @@ const forMData = ref({
lat: '',
commonAddr: false,
});
const content = ref([]);
onLoad((options) => {
newAddressFlag.value = options.new;
content.value = JSON.parse(options.content);
forMData.value = content.value;
});
function fieldNotEmpty(val) {
......@@ -93,12 +95,22 @@ function fieldNotEmpty(val) {
}
const hdSubmit = async () => {
await addAddress({
...forMData.value,
commonAddr: forMData.value.commonAddr ? 1 : 0,
province: forMData.value.province,
city: forMData.value.city,
area: forMData.value.area,
if (!content.value.addrId) {
await addAddress({
...forMData.value,
commonAddr: forMData.value.commonAddr ? 1 : 0,
province: forMData.value.province,
city: forMData.value.city,
area: forMData.value.area,
});
} else {
await updateAddress({
...forMData.value,
commonAddr: forMData.value.commonAddr ? 1 : 0,
});
}
uni.navigateTo({
url: '/pages/address/addressList',
});
};
function handleSubmit() {
......@@ -126,7 +138,6 @@ async function changeLocation() {
forMData.value.addr = res.address;
forMData.value.lng = res.longitude;
forMData.value.lat = res.latitude;
console.log('位置信息:' + JSON.stringify(res));
uni.request({
url: '/ws/geocoder/v1/',
data: {
......
......@@ -9,29 +9,31 @@
</view>
<view class="full_list" v-else>
<view class="additem" v-for="(item, index) in addressList" :key="index">
<view class="additem_l">
<view class="address">{{ item.addr }}</view>
<view class="info">
<view class="name">{{ item.receiver }}</view>
<view class="phone">{{ item.mobile }}</view>
</view>
<view class="address_status">
<view v-if="item.commonAddr === 1" class="box active">
<wd-icon name="check-circle-filled" size="12px"></wd-icon>
<view class="txt">默认</view>
<wd-swipe-action>
<view class="additem" v-for="(item, index) in addressList" :key="index">
<view class="additem_l">
<view class="address">{{ item.addr }}</view>
<view class="info">
<view class="name">{{ item.receiver }}</view>
<view class="phone">{{ item.mobile }}</view>
</view>
<view v-else class="box">
<wd-icon name="circle1" size="12px"></wd-icon>
<view class="txt">默认</view>
<view class="address_status">
<view v-if="item.commonAddr === 1" class="box active">
<wd-icon name="check-circle-filled" size="12px"></wd-icon>
<view class="txt">默认</view>
</view>
<view v-else class="box" @click="deleteAdd(item.addrId)">
<wd-icon name="circle1" size="12px"></wd-icon>
<view class="txt">删除</view>
</view>
</view>
</view>
<view class="additem_r">
<wd-icon name="edit-outline" size="14px" @tap="editAddress(item)"></wd-icon>
</view>
</view>
<view class="additem_r">
<wd-icon name="edit-outline" size="14px" @tap="editAddress"></wd-icon>
</view>
</view>
</wd-swipe-action>
<wd-button type="error" block class="addBtn" @tap="addNewAddress">新增地址</wd-button>
</view>
......@@ -45,7 +47,6 @@ import Header from '@/pages/order/components/Header/index.vue';
import { getAddressList, deleteAddress } from '@/api/address';
const isAdressEmpty = ref(false);
const mainAddFlag = ref(false);
const addressList = ref([]);
const getAddressListData = async () => {
......@@ -56,26 +57,32 @@ const getAddressListData = async () => {
res.length === 0 ? (isAdressEmpty.value = true) : (isAdressEmpty.value = false);
}
};
onLoad(() => {});
getAddressListData();
const addNewAddress = () => {
xma.navigateTo({ url: '/pages/address/addressEdit?new=true' });
};
const editAddress = () => {
xma.navigateTo({ url: '/pages/address/addressEdit' });
const editAddress = (col) => {
xma.navigateTo({
url: `/pages/address/addressEdit?content=${JSON.stringify(col)}`,
});
};
onLoad(() => {
xma.getLocation({
success: (res) => {
console.log(res);
},
fail: (err) => {
console.log(err);
const deleteAdd = async (id) => {
console.log(id);
xma.showModal({
title: '提示',
content: '确定删除该地址吗?',
showCancel: true,
confirmText: '确定',
cancelText: '取消',
success: async (res) => {
if (res.confirm) {
await deleteAddress(id);
getAddressListData();
}
},
});
});
};
</script>
<style lang="scss" scoped>
......@@ -92,6 +99,7 @@ page {
.full_list {
margin-top: 20rpx;
padding-bottom: 180rpx;
.additem {
width: 710rpx;
......@@ -146,6 +154,7 @@ page {
display: flex;
font-size: 18rpx;
align-items: center;
// justify-content: space-between;
.txt {
margin-left: 5rpx;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment