红绿项目
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.
 
 
 
 

196 lines
4.3 KiB

<template>
<view class="">
<navigation v-if="form.id==null">
Add Address
</navigation>
<navigation v-if="form.id!=null">
Modify Address
</navigation>
<view class="login-body">
<u-form :model="form" ref="uForm" :rules="rules">
<u-form-item prop="name">
<u-input v-model="form.name" :placeholder="'Full Name'"
/>
</u-form-item>
<u-form-item prop="mobile">
<u-input v-model="form.mobile" :placeholder="'Mobile Number'"/>
</u-form-item>
<u-form-item prop="zip">
<u-input v-model="form.zip" :placeholder="'Pincode'"/>
</u-form-item>
<u-form-item prop="province">
<u-input v-model="form.province" :placeholder="'State'"/>
</u-form-item>
<u-form-item prop="city">
<u-input v-model="form.city" :placeholder="'Town/City'"/>
</u-form-item>
<u-form-item prop="areaInfo" >
<u-input v-model="form.areaInfo" :placeholder="'Detail Address'"/>
</u-form-item>
</u-form>
<button @click="submit" class="login-btn on">
Confirm
</button>
</view>
</view>
</template>
<script>
import api from '@/utils/api'
import utils from '@/utils'
import md5 from 'js-md5'
import store from '@/store'
import cont from "@/components/navigation/navigation.vue"
export default {
data() {
return {
// 判断按钮是否选中
btncol: 0,
form: {
id:null,
province: '',
name:'',
city:'',
// state:'',
areaInfo:'',
mobile:'',
zip:'',
ticket:'',
},
rules: {
name: [
{
required: true,
message: 'Please enter your name',
// 可以单个或者同时写两个触发验证方式
trigger: ['blur'],
},
],
mobile: [
{
required: true,
// min: 5,
message: 'Please enter mobile number',
trigger: 'blur'
}
],
zip: [
{
required: true,
// min: 5,
message: 'Please enter Pincode',
trigger: 'blur'
}
],
province: [
{
required: true,
// min: 5,
message: 'Please enter State',
trigger: 'blur'
}
],
state: [
{
required: true,
// min: 5,
message: 'Please enter State/Territory',
trigger: 'blur'
}
],
city: [
{
// min: 5,
message: 'Please enter city',
trigger: 'blur'
}
],
}
}
},
onLoad(item) {
if(JSON.stringify(item) != "{}"){
var data=item.card.replace(/""/g,"");
this.form=JSON.parse(data)
}
this.form.ticket= uni.getStorageSync('logInfo').data;
},
// 必须要在onReady生命周期,因为onLoad生命周期组件可能尚未创建完毕
onReady() {
this.$refs.uForm.setRules(this.rules);
},
methods: {
btnControl() {
this.btncol = 1;
if (this.form.name == '') {
this.btncol = 0;
}
},
submit() {
this.$refs.uForm.validate(valid => {
if (valid) {
uni.showLoading({})
const post = api.addressSave(this.form)
post.then(res => {
if(res.errCode=='SUCCESS'){
if(this.form.id!=null||this.form.id!=''||this.form.id!=undefined){
uni.showToast({
title: 'Successfully',
icon: 'success',
duration: 2500
})
}else{
uni.showToast({
title: 'Successfully',
icon: 'success',
duration: 2500
})
}
setTimeout(()=>{
uni.navigateTo({
url:'../index'
})
},2000)
}else{
uni.hideLoading()
uni.showToast({
title: 'Fail',
icon: 'none',
duration: 2500,
})
}
})
.catch(e => {
uni.hideLoading()
uni.showToast({
title: 'Fail',
icon: 'none',
duration: 2500
})
})
} else {
console.log('验证失败');
}
});
}
}
}
</script>
<style>
@import './index.css';
</style>