324 lines
7.9 KiB
Vue
324 lines
7.9 KiB
Vue
<template>
|
|
<view class="" v-if="XCXIsSelect=='是'">
|
|
<form>
|
|
<view class="cu-form-group">
|
|
<view class="title">联系人</view>
|
|
<input placeholder="请输入联系人" name="input" v-model="form.userName"></input>
|
|
</view>
|
|
<view class="cu-form-group">
|
|
<view class="title">联系电话</view>
|
|
<input placeholder="请输入联系电话" name="input" v-model="form.userPhone" maxlength="11"></input>
|
|
</view>
|
|
<view class="cu-form-group" @click="pickerShow">
|
|
<view class="title">所在地区</view>
|
|
<input placeholder="请选择地区" name="input" disabled v-model="form.address"></input>
|
|
<text class='cuIcon-locationfill text-orange'></text>
|
|
</view>
|
|
<view class="cu-form-group">
|
|
<view class="title">详细地址</view>
|
|
<input placeholder="请输入详细地址" name="input" v-model="form.addressDetail"></input>
|
|
</view>
|
|
<view class="cu-form-group">
|
|
<view class="title">设为默认</view>
|
|
<switch @change="SwitchA" :class="form.addressDefault?'checked':''"
|
|
:checked="form.addressDefault?true:false"></switch>
|
|
</view>
|
|
</form>
|
|
|
|
<view class="btn" v-if="!id">
|
|
<view class="address_push" @click="submit">保存</view>
|
|
</view>
|
|
<view class="btn" v-if="id">
|
|
<view class="address_push" @click="updata">修改</view>
|
|
</view>
|
|
</view>
|
|
<view v-else>
|
|
<view style="font-size: 28upx;" v-html="content"></view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import {
|
|
requestAndroidPermission,
|
|
gotoAppPermissionSetting
|
|
} from '@/components/permission.js'
|
|
export default {
|
|
data() {
|
|
return {
|
|
form: {
|
|
addressId: '',
|
|
userName: '',
|
|
userPhone: '',
|
|
address: '',
|
|
addressDetail: '',
|
|
addressDefault: 0, //默认地址 0不默认 1默认
|
|
lng: '',
|
|
lat: ''
|
|
},
|
|
// switchA: false,
|
|
region: '',
|
|
|
|
id: '',
|
|
latitude: '',
|
|
longitude: '',
|
|
XCXIsSelect: '是',
|
|
content: ''
|
|
}
|
|
},
|
|
onLoad(option) {
|
|
this.XCXIsSelect = this.$queue.getData('XCXIsSelect') ? this.$queue.getData('XCXIsSelect') : '是';
|
|
if (this.XCXIsSelect == '否') {
|
|
this.getGuize()
|
|
uni.setNavigationBarTitle({
|
|
title: '隐私政策'
|
|
});
|
|
} else {
|
|
uni.setNavigationBarTitle({
|
|
title: '添加地址'
|
|
});
|
|
}
|
|
this.id = option.id
|
|
if (option.id) {
|
|
this.getAddressDet(option.id)
|
|
uni.setNavigationBarTitle({
|
|
title: "修改地址"
|
|
})
|
|
}
|
|
},
|
|
methods: {
|
|
getGuize() {
|
|
this.$Request.getT('/app/common/type/237').then(res => {
|
|
if (res.code == 0) {
|
|
this.content = res.data.value;
|
|
// this.tit = res.data.min
|
|
}
|
|
});
|
|
},
|
|
pickerShow() {
|
|
let that = this
|
|
// An highlighted block
|
|
uni.chooseLocation({
|
|
success: function(res) {
|
|
console.log(res)
|
|
console.log('位置名称:' + res.name);
|
|
console.log('详细地址:' + res.address);
|
|
console.log('纬度:' + res.latitude);
|
|
console.log('经度:' + res.longitude);
|
|
let latitude = res.latitude; //纬度
|
|
let longitude = res.longitude; //经度
|
|
that.form.lng = longitude
|
|
that.form.lat = latitude
|
|
|
|
that.form.addressDetail = res.name
|
|
|
|
let data = {
|
|
lat: latitude,
|
|
lng: longitude
|
|
}
|
|
that.$Request.get("/app/address/selectCity", data).then(res => {
|
|
if (res.code == 0) {
|
|
that.form.province = res.data.province
|
|
that.form.city = res.data.city
|
|
that.form.district = res.data.district
|
|
that.form.address = res.data.province + res.data.city + res.data
|
|
.district
|
|
}
|
|
});
|
|
},fail(e) {
|
|
console.log(e)
|
|
uni.showModal({
|
|
title: '温馨提示',
|
|
content: '您的定位权限未开启,请开启后再来刷新操作吧!',
|
|
showCancel: true,
|
|
cancelText: '取消',
|
|
confirmText: '确认',
|
|
success: res => {
|
|
if(res.confirm){
|
|
// #ifdef MP-WEIXIN
|
|
uni.openSetting({ // 打开设置页
|
|
success(rea) {
|
|
console.log(rea.authSetting)
|
|
}
|
|
});
|
|
// #endif
|
|
// #ifdef APP-PLUS
|
|
gotoAppPermissionSetting()
|
|
// #endif
|
|
}
|
|
}
|
|
});
|
|
}
|
|
});
|
|
},
|
|
SwitchA(e) {
|
|
console.log(e.detail.value)
|
|
this.form.addressDefault = e.detail.value
|
|
},
|
|
// 选择地区回调
|
|
regionConfirm(e) {
|
|
console.log(e)
|
|
this.form.province = e.province.label
|
|
this.form.city = e.city.label
|
|
this.form.area = e.area.label
|
|
this.region = e.province.label + '-' + e.city.label + '-' + e.area.label;
|
|
console.log(this.region)
|
|
},
|
|
// 提交
|
|
submit() {
|
|
if (!this.form.userName) {
|
|
uni.showToast({
|
|
title: '请输入姓名',
|
|
icon: 'none'
|
|
})
|
|
return
|
|
}
|
|
if (!this.form.userPhone) {
|
|
uni.showToast({
|
|
title: '请输入联系电话',
|
|
icon: 'none'
|
|
})
|
|
return
|
|
}
|
|
if (this.form.userPhone.length<=10) {
|
|
uni.showToast({
|
|
title: '请输入正确联系电话',
|
|
icon: 'none'
|
|
})
|
|
return
|
|
}
|
|
if (!this.form.address) {
|
|
uni.showToast({
|
|
title: '请选择所在地区',
|
|
icon: 'none'
|
|
})
|
|
return
|
|
}
|
|
if (!this.form.addressDetail) {
|
|
uni.showToast({
|
|
title: '请输入详细地址',
|
|
icon: 'none'
|
|
})
|
|
return
|
|
}
|
|
this.form.addressDefault = this.form.addressDefault ? 1 : 0
|
|
this.$Request.postJson("/app/address/insertAddress", this.form).then(res => {
|
|
if (res.code == 0) {
|
|
uni.showToast({
|
|
title: '保存成功',
|
|
icon: 'none'
|
|
})
|
|
setTimeout(function() {
|
|
uni.navigateBack()
|
|
}, 1000)
|
|
}
|
|
});
|
|
},
|
|
// 修改
|
|
updata() {
|
|
if (!this.form.userName) {
|
|
uni.showToast({
|
|
title: '请输入姓名',
|
|
icon: 'none'
|
|
})
|
|
return
|
|
}
|
|
if (!this.form.userPhone) {
|
|
uni.showToast({
|
|
title: '请输入联系电话',
|
|
icon: 'none'
|
|
})
|
|
return
|
|
}
|
|
if (!this.form.address) {
|
|
uni.showToast({
|
|
title: '请选择所在地区',
|
|
icon: 'none'
|
|
})
|
|
return
|
|
}
|
|
if (!this.form.addressDetail) {
|
|
uni.showToast({
|
|
title: '请输入详细地址',
|
|
icon: 'none'
|
|
})
|
|
return
|
|
}
|
|
|
|
let data = {
|
|
addressId: this.form.addressId,
|
|
userName: this.form.userName,
|
|
userPhone: this.form.userPhone,
|
|
province: this.form.province,
|
|
city: this.form.city,
|
|
district: this.form.district,
|
|
address: this.form.address,
|
|
addressDetail: this.form.addressDetail,
|
|
addressDefault: this.form.addressDefault ? 1 : 0,
|
|
lng: this.form.lng,
|
|
lat: this.form.lat,
|
|
}
|
|
this.$Request.postJson("/app/address/updateAddress", data).then(res => {
|
|
if (res.code == 0) {
|
|
uni.showToast({
|
|
title: '修改成功',
|
|
icon: 'none'
|
|
})
|
|
setTimeout(function() {
|
|
uni.navigateBack()
|
|
}, 1500)
|
|
}
|
|
});
|
|
},
|
|
// 根据id获取地址详情
|
|
getAddressDet(e) {
|
|
this.$Request.get("/app/address/selectAddressById?addressId=" + e).then(res => {
|
|
if (res.code == 0) {
|
|
this.form.addressId = res.data.addressId
|
|
this.form.userName = res.data.userName
|
|
this.form.userPhone = res.data.userPhone
|
|
this.form.address = res.data.province + res.data.city + res.data.district
|
|
this.form.addressDetail = res.data.addressDetail
|
|
this.form.lng = res.data.lng
|
|
this.form.lat = res.data.lat
|
|
this.form.addressDefault = res.data.addressDefault
|
|
that.form.province = res.data.province
|
|
that.form.city = res.data.v
|
|
that.form.district = res.data.district
|
|
}
|
|
});
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
</script>
|
|
|
|
<style>
|
|
page {
|
|
background-color: #fff !important;
|
|
}
|
|
|
|
/* 添加收货地址 */
|
|
.btn {
|
|
/* position: fixed;
|
|
bottom: 0rpx; */
|
|
width: 100%;
|
|
height: 100rpx;
|
|
line-height: 100rpx;
|
|
background-color: white;
|
|
margin-top: 30rpx;
|
|
}
|
|
|
|
.address_push {
|
|
width: 90%;
|
|
height: 80rpx;
|
|
margin: 0 auto;
|
|
background: #FCD202;
|
|
border-radius: 20rpx;
|
|
color: white;
|
|
text-align: center;
|
|
line-height: 80rpx;
|
|
font-size: 35rpx;
|
|
}
|
|
</style>
|