暖心人
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

289 lines
7.1 KiB

<template>
<view class="body-background"></view>
<u-navbar
:title="title"
:auto-back="true"
left-icon-size="40rpx"
:safe-area-inset-top="true"
:placeholder="true"
bgColor="#fff"
></u-navbar>
<u-row :custom-style="{padding:'16rpx 26rpx'}">
<u-col :custom-style="{backgroundColor:'#ffffff',borderRadius:'10rpx',padding:'30rpx 40rpx'}">
<u-form
errorType="toast"
labelPosition="left"
:model="model"
:rules="rules"
ref="addrForm"
labelWidth="200rpx"
>
<u-form-item
:custom-style="{
padding:'36rpx 0'
}"
label="姓名"
prop="address.name"
borderBottom
>
<u-input
fontSize="28"
placeholder="请填写您的真实姓名"
v-model="model.address.name"
border="none"
></u-input>
</u-form-item>
<u-form-item
:custom-style="{
padding:'36rpx 0'
}"
label="手机号码"
prop="address.phone"
borderBottom
>
<u-input
fontSize="28"
placeholder="请输入"
v-model="model.address.phone"
border="none"
></u-input>
</u-form-item>
<u-form-item
:custom-style="{
padding:'36rpx 0'
}"
label="地区"
prop="address.area"
borderBottom
>
<u-input
fontSize="28"
placeholder="请选择地区"
v-model="model.address.area"
border="none"
></u-input>
</u-form-item>
<u-form-item
:custom-style="{
padding:'36rpx 0'
}"
label="详细地址"
prop="address.address"
borderBottom
>
<u-input
fontSize="28"
placeholder="请输入详细收货地址"
v-model="model.address.address"
border="none"
></u-input>
</u-form-item>
<u-form-item
:custom-style="{
padding:'36rpx 0'
}"
label="设为默认收货地址"
prop="address.is_default"
labelWidth="260rpx"
>
<u-switch
size="32"
:custom-style="{marginLeft:'auto'}"
v-model="model.address.is_default"
activeColor="#FF9545"
inactiveColor="#DDDDDD"
:inactiveValue="0"
:activeValue="1"
>
</u-switch>
</u-form-item>
</u-form>
</u-col>
</u-row>
<view class="foot-button border-box">
<u-button
type="primary"
text="保存"
shape="circle"
:custom-style="{
color:'#020B18',
backgroundColor:'#FF9545',
border:'none',
fontSize:'36',
fontWeight:'400',
height:'80rpx'
}"
@click="submit"
></u-button>
</view>
</template>
<script>
import {
imghost
} from '@/config/host.js'
import MzSubsection from '@/components/MzSubsection/Index.vue';
import api from '@/utils/functions.js';
import {userAddrAdd, userAddrEdit, userDetail, userEdit} from "@/api/user";
export default {
components: {
MzSubsection
},
data() {
return {
switchValue:false,
model: {
address: {
name:'',
phone: '',
area:'',
address:'',
is_default:0,
},
},
rules: {
'address.name': {
type: 'string',
required: true,
message: '请填写姓名',
trigger: ['blur', 'change']
},
'address.phone': {
type: 'string',
required: true,
message: '请填写电话',
trigger: ['blur', 'change']
},
'address.area': {
type: 'string',
required: true,
message: '请填写地区',
trigger: ['blur', 'change']
},
'address.address': {
type: 'string',
required: true,
message: '请填写详细地址',
trigger: ['blur', 'change']
},
},
value:1,
options: [
{
text: '删除',
style: {
backgroundColor: '#FC4956'
}
}
],
title: '添加收货地址',
loading: true,
staticImage: {
bg: imghost + '/static/image/BG.png',
newIcon: imghost + '/static/image/new-icon.png',
},
isTop: false,
lists: [],
size: {
height: 500,
}
}
},
onLoad(option) {
if(option.detail !== '' && option.detail){
this.model.address = JSON.parse(option.detail);
console.log(this.model.address)
}
},
computed: {
api() {
return api
},
sectionStyle() {
const style = {};
style.padding = '0 26rpx';
style.position = 'sticky';
style.zIndex = '9999';
style.top = api.navHeight().systemBarHeight + 'px'
return style;
},
listHeight() {
let that = this;
let height;
let info = uni.createSelectorQuery().in(this).select('.subsection');
info.boundingClientRect(function (data) {
that.size.height = data.height;
}).exec(function (res) {
});
// that.size.height = (api.navHeight().windowHeight - height);
}
},
methods: {
chatDetail(item) {
wx.navigateTo({
url: '/pages/ChatDetail/index?id=' + item.id
});
},
checkSection(index) {
this.current = index;
},
scrollToLower() {
},
getAddrDetail(id){
},
submit(){
this.$refs.addrForm.validate().then(res => {
let result;
console.log(this.model)
if(this.model.address.id !== '' && this.model.address.id !== undefined){
result = userAddrEdit(this.model.address);
}else{
result = userAddrAdd(this.model.address);
}
result.then((res) => {
if(res.code === 200){
uni.$u.toast((this.model.address.id !== '')?'修改成功':'创建成功')
let pages = getCurrentPages(); // 当前页面
let beforePage = pages[pages.length - 2]; // 上一页
uni.navigateBack({
success: function() {
beforePage.onLoad(); // 执行上一页的onLoad方法
}
});
}else{
uni.$u.toast(res.msg)
}
})
}).catch(errors => {
uni.$u.toast(errors[0].message)
})
}
},
onPageScroll(res) {
if (res.scrollTop <= 20) {
uni.$emit('isTop', true);
} else {
uni.$emit('isTop', false);
}
},
created() {
this.listHeight();
// this.pagePadding = (api.navHeight().navPaddingTop +
// api.navHeight().navHeight + (api.navHeight().headerPadding * 2))
}
}
</script>
<style lang="scss">
@import './components/edit.scss';
</style>