From 160347e77a8cb6df19681501f0e7df7f077a1ba0 Mon Sep 17 00:00:00 2001
From: 1154079537 <1154079537@qq.com>
Date: Wed, 8 May 2024 15:01:33 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=9C=B0=E5=9D=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 pages/users/user_address/index.vue | 1138 +++++++++++++++-------------
 1 file changed, 593 insertions(+), 545 deletions(-)

diff --git a/pages/users/user_address/index.vue b/pages/users/user_address/index.vue
index 5a445d0..18a8c1a 100644
--- a/pages/users/user_address/index.vue
+++ b/pages/users/user_address/index.vue
@@ -1,55 +1,103 @@
 <style lang="scss">
-.sel_addr_wrap {
-  height: 120rpx;
-  padding: 30rpx 0;
+	.sel_addr_wrap {
+		height: 120rpx;
+		padding: 30rpx 0;
 
-  .sel_addr {
-    display: flex;
-    align-items: center;
-    justify-content: center;
-    margin: 0 30rpx;
-    border: 2rpx solid #40ae36;
-    height: 60rpx;
-    line-height: 60rpx;
-    text-align: center;
-    color: #40ae36;
-    border-radius: 10rpx;
-    font-weight: bold;
+		.sel_addr {
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			margin: 0 30rpx;
+			border: 2rpx solid #40ae36;
+			height: 60rpx;
+			line-height: 60rpx;
+			text-align: center;
+			color: #40ae36;
+			border-radius: 10rpx;
+			font-weight: bold;
 
-    &:active {
-      background: rgba(64, 174, 54, .1);
-    }
+			&:active {
+				background: rgba(64, 174, 54, .1);
+			}
 
-    text {
-      margin-right: 10rpx;
-    }
-  }
-}
+			text {
+				margin-right: 10rpx;
+			}
+		}
+	}
+
+	.sel_addr_update-wrap {
+		padding: 30rpx 0;
+
+
+		.sel_addr_update {
+			display: flex;
+			align-items: center;
+			justify-content: space-between;
+			border: 2rpx solid #40ae36;
+			box-shadow: 0 0 2rpx 2rpx #40ae3650;
+			padding: 10rpx 20rpx;
+			margin: 0rpx 30rpx;
+			border-radius: 10rpx;
+
+			.sel_addr_wrap-l {
+				.sel_addr_wrap-l-addr {
+					margin-bottom: 8rpx;
+					font-size: 28rpx;
+					font-weight: bold;
+					color: #333;
+					max-width: 480rpx;
+				}
+
+				.sel_addr_wrap-l-detail {
+					font-size: 26rpx;
+					color: #999;
+					max-width: 480rpx;
+				}
+			}
+
+			.sel_addr_wrap-r {
+				padding: 8rpx 8rpx;
+				border: 2rpx solid #40ae36;
+				border-radius: 10rpx;
+				color: #40ae36;
+			}
+		}
+	}
 </style>
 <template>
-  <view :style="viewColor">
-    <form @submit="formSubmit" report-submit='true'>
-      <view class='addAddress'>
-        <view class='list'>
+	<view :style="viewColor">
+		<form @submit="formSubmit" report-submit='true'>
+			<view class='addAddress'>
+				<view class='list'>
+					<view class="sel_addr_wrap">
+						<view class="sel_addr" @click="handleToChoose">
+							<text>选择收货地址</text>
+							<u-icon name="arrow-right" size="16" color="#40ae36"></u-icon>
+						</view>
+					</view>
 
-          <view class="sel_addr_wrap">
-            <view class="sel_addr" @click="handleToChoose">
-              <text>选择收货地址</text>
-              <u-icon name="arrow-right" size="16" color="#40ae36"></u-icon>
-            </view>
-          </view>
+					<view class="sel_addr_update-wrap">
+						<view class="sel_addr_update">
+							<view class="sel_addr_wrap-l">
+								<view class="sel_addr_wrap-l-addr line1">柏林湾</view>
+								<view class="sel_addr_wrap-l-detail line1">四川省泸州市龙马潭区陶然路三段1号</view>
+							</view>
+							<view class="sel_addr_wrap-r">修改地址</view>
+						</view>
+					</view>
 
-          <view class='item acea-row row-between-wrapper'>
-            <view class='name'>姓名</view>
-            <input type='text' placeholder='请输入姓名' name='real_name' :value="userAddress.real_name"
-                   placeholder-class='placeholder'></input>
-          </view>
-          <view class='item acea-row row-between-wrapper'>
-            <view class='name'>联系电话</view>
-            <input type='text' placeholder='请输入联系电话' name="phone" :value='userAddress.phone'
-                   placeholder-class='placeholder'></input>
-          </view>
-          <!-- <view class='item acea-row row-between-wrapper'>
+					<view class='item acea-row row-between-wrapper'>
+						<view class='name'>姓名</view>
+						<input type='text' placeholder='请输入姓名' name='real_name' :value="userAddress.real_name"
+							placeholder-class='placeholder'></input>
+					</view>
+					<view class='item acea-row row-between-wrapper'>
+						<view class='name'>联系电话</view>
+						<input type='text' placeholder='请输入联系电话' name="phone" :value='userAddress.phone'
+							placeholder-class='placeholder'></input>
+					</view>
+					<!-- <view class='item acea-row row-between-wrapper'>
             <view class='name'>所在地区</view>
             <view class="region">
               <view class="region_count" @click="handleToChoose">
@@ -61,538 +109,538 @@
 
           </view> -->
 
-          <view class='item acea-row row-between-wrapper'>
-            <view class='name'>详细地址</view>
-            <input type='text' class="location-input" placeholder='请填写具体地址' name='detail'
-                   placeholder-class='placeholder' v-model="userAddress.detail"></input>
-          </view>
-        </view>
-        <view class='default acea-row row-middle'>
-          <checkbox-group @change='ChangeIsDefault'>
-            <checkbox :checked="userAddress.is_default ? true : false" />设置为默认地址
-          </checkbox-group>
-        </view>
+					<view class='item acea-row row-between-wrapper'>
+						<view class='name'>详细地址</view>
+						<input type='text' class="location-input" placeholder='请填写具体地址' name='detail'
+							placeholder-class='placeholder' v-model="userAddress.detail"></input>
+					</view>
+				</view>
+				<view class='default acea-row row-middle'>
+					<checkbox-group @change='ChangeIsDefault'>
+						<checkbox :checked="userAddress.is_default ? true : false" />设置为默认地址
+					</checkbox-group>
+				</view>
 
-        <button class='keepBnt' form-type="submit">立即保存</button>
-        <!-- #ifdef MP -->
-        <view class="wechatAddress" v-if="!address_id" @click="getWxAddress">导入微信地址</view>
-        <!-- #endif -->
-        <!-- #ifdef H5 -->
-        <view class="wechatAddress" v-if="this.$wechat.isWeixin() && !address_id" @click="getAddress">导入微信地址
-        </view>
-        <!-- #endif -->
-      </view>
-    </form>
-    <areaWindow ref="areaWindow" :display="display" :address="addressInfo" @submit="OnChangeAddress"
-                @changeClose="changeClose"></areaWindow>
-    <!-- <villageTeam ref="villageTeam" :display="display_one" :address="villageInfo" :villageaddress="list"
+				<button class='keepBnt' form-type="submit">立即保存</button>
+				<!-- #ifdef MP -->
+				<view class="wechatAddress" v-if="!address_id" @click="getWxAddress">导入微信地址</view>
+				<!-- #endif -->
+				<!-- #ifdef H5 -->
+				<view class="wechatAddress" v-if="this.$wechat.isWeixin() && !address_id" @click="getAddress">导入微信地址
+				</view>
+				<!-- #endif -->
+			</view>
+		</form>
+		<areaWindow ref="areaWindow" :display="display" :address="addressInfo" @submit="OnChangeAddress"
+			@changeClose="changeClose"></areaWindow>
+		<!-- <villageTeam ref="villageTeam" :display="display_one" :address="villageInfo" :villageaddress="list"
       @submit="OnChangevAddress" @changeClose="changevClose"></villageTeam> -->
 
-    <authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse"></authorize>
-  </view>
+		<authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse"></authorize>
+	</view>
 </template>
 
 <script>
-// +----------------------------------------------------------------------
-// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
-// +----------------------------------------------------------------------
-// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
-// +----------------------------------------------------------------------
-// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
-// +----------------------------------------------------------------------
-// | Author: CRMEB Team <admin@crmeb.com>
-// +----------------------------------------------------------------------
-import {
-  editAddress,
-  getAddressDetail
-} from '@/api/user.js';
-import {
-  wgsToGcj
-} from "@/utils/wgs.js";
-import {
-  getCityV2,
-  getCityList
-} from '@/api/api.js';
-import {
-  mapGetters
-} from "vuex";
-import areaWindow from '@/components/areaWindow';
-import villageTeam from '@/components/villageTeam/villageTeam.vue';
-import {
-  getGeocoder
-} from '@/api/store.js';
-import authorize from '@/components/Authorize';
-export default {
-  components: {
-    areaWindow,
-    authorize,
-    villageTeam
-  },
-  data() {
-    return {
-      cartId: '', //购物车id
-      pinkId: 0, //拼团id
-      couponId: 0, //优惠券id
-      address_id: 0, //地址id
-      userAddress: {
-        is_default: false,
-		detail: '',
-      }, //地址详情
-      region: ['省', '市', '区'],
-      valueRegion: [0, 0, 0],
-      isAuto: false, //没有授权的不会自动授权
-      isShowAuth: false, //是否隐藏授权
-      district: [],
-      multiArray: [],
-      multiIndex: [0, 0, 0],
-      cityId: 0,
-      display: false,
-      display_one: false,
-      addressInfo: [],
-      newAddrInfo: '',
-      newPCAS: '',
-      villageInfo: [],
-      list: [],
-      latitude: '',
-      longitude: '',
-      detail: '', //四川省泸州市龙马潭区龙门大道15号
-      location: '', // 经纬度
+	// +----------------------------------------------------------------------
+	// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
+	// +----------------------------------------------------------------------
+	// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
+	// +----------------------------------------------------------------------
+	// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
+	// +----------------------------------------------------------------------
+	// | Author: CRMEB Team <admin@crmeb.com>
+	// +----------------------------------------------------------------------
+	import {
+		editAddress,
+		getAddressDetail
+	} from '@/api/user.js';
+	import {
+		wgsToGcj
+	} from "@/utils/wgs.js";
+	import {
+		getCityV2,
+		getCityList
+	} from '@/api/api.js';
+	import {
+		mapGetters
+	} from "vuex";
+	import areaWindow from '@/components/areaWindow';
+	import villageTeam from '@/components/villageTeam/villageTeam.vue';
+	import {
+		getGeocoder
+	} from '@/api/store.js';
+	import authorize from '@/components/Authorize';
+	export default {
+		components: {
+			areaWindow,
+			authorize,
+			villageTeam
+		},
+		data() {
+			return {
+				cartId: '', //购物车id
+				pinkId: 0, //拼团id
+				couponId: 0, //优惠券id
+				address_id: 0, //地址id
+				userAddress: {
+					is_default: false,
+					detail: '',
+				}, //地址详情
+				region: ['省', '市', '区'],
+				valueRegion: [0, 0, 0],
+				isAuto: false, //没有授权的不会自动授权
+				isShowAuth: false, //是否隐藏授权
+				district: [],
+				multiArray: [],
+				multiIndex: [0, 0, 0],
+				cityId: 0,
+				display: false,
+				display_one: false,
+				addressInfo: [],
+				newAddrInfo: '',
+				newPCAS: '',
+				villageInfo: [],
+				list: [],
+				latitude: '',
+				longitude: '',
+				detail: '', //四川省泸州市龙马潭区龙门大道15号
+				location: '', // 经纬度
 
-    };
-  },
-  computed: {
-    ...mapGetters(['isLogin', 'viewColor']),
-    addressText() {
-      return this.addressInfo.map(v => v.name).join('/');
-    },
-    villageText() {
-      return this.villageInfo.map(v => v.name).join('/');
-    }
-  },
-  onLoad(options) {
-    if (this.isLogin) {
-      this.cartId = options.cartId || '';
-      this.pinkId = options.pinkId || 0;
-      this.couponId = options.couponId || 0;
-      this.address_id = options.id || 0;
-      uni.setNavigationBarTitle({
-        title: options.id ? '修改地址' : '添加地址'
-      })
-      this.getUserAddress();
-      this.getCityList();
-    } else {
-      this.isAuto = true;
-      this.isShowAuth = true
-    }
-  },
-  methods: {
-
-    // 选择地址
-    handleToChoose() {
-		let that = this;
-		// #ifdef H5
-		uni.navigateTo({
-		  url: "/pages/select_address_n/select_address_n",
-		  success: (res) => {
-		    uni.$once('changeAddress', res => {
-		      console.log(res)
-		      // this.newAddrInfo = res.addr; "name": "中国,四川省,泸州市,龙马潭区",
-		      that.detail = res.addr.address;
-		      that.location = res.addr.location;
-		    })
-		  }
-		})
-		// #endif
-		// #ifndef H5
-		uni.chooseLocation({
-			success: function (res) {
-				that.userAddress.detail = res.address;
-				that.location = `${res.latitude},${res.longitude}`;;
+			};
+		},
+		computed: {
+			...mapGetters(['isLogin', 'viewColor']),
+			addressText() {
+				return this.addressInfo.map(v => v.name).join('/');
+			},
+			villageText() {
+				return this.villageInfo.map(v => v.name).join('/');
 			}
-		});
-		// #endif
-    },
+		},
+		onLoad(options) {
+			if (this.isLogin) {
+				this.cartId = options.cartId || '';
+				this.pinkId = options.pinkId || 0;
+				this.couponId = options.couponId || 0;
+				this.address_id = options.id || 0;
+				uni.setNavigationBarTitle({
+					title: options.id ? '修改地址' : '添加地址'
+				})
+				this.getUserAddress();
+				this.getCityList();
+			} else {
+				this.isAuto = true;
+				this.isShowAuth = true
+			}
+		},
+		methods: {
 
-    OnChangeAddress(address) {
-      this.addressInfo = address;
-      this.list = address
-    },
+			// 选择地址
+			handleToChoose() {
+				let that = this;
+				// #ifdef H5
+				uni.navigateTo({
+					url: "/pages/select_address_n/select_address_n",
+					success: (res) => {
+						uni.$once('changeAddress', res => {
+							console.log(res)
+							// this.newAddrInfo = res.addr; "name": "中国,四川省,泸州市,龙马潭区",
+							that.detail = res.addr.address;
+							that.location = res.addr.location;
+						})
+					}
+				})
+				// #endif
+				// #ifndef H5
+				uni.chooseLocation({
+					success: function(res) {
+						that.userAddress.detail = res.address;
+						that.location = `${res.latitude},${res.longitude}`;;
+					}
+				});
+				// #endif
+			},
 
-    // 地址数据
-    getCityList: function() {
-      let that = this;
-      getCityV2(0).then(res => {
-        this.district = res.data
-      })
-    },
-    changeRegion() {
-      this.display = true;
-    },
-    changevillage() {
-      this.display_one = true;
-    },
-    // 关闭地址弹窗;
-    changeClose: function() {
-      this.display = false;
-    },
-    changevClose: function() {
-      this.display_one = false;
-    },
-    // 授权回调
-    onLoadFun: function() {
-      this.isShowAuth = false;
-      this.getUserAddress();
-    },
-    // 授权关闭
-    authColse: function(e) {
-      this.isShowAuth = e
-    },
-    toggleTab(str) {
-      this.$refs[str].show();
-    },
-    onConfirm(val) {
-      this.region = val.checkArr[0] + '-' + val.checkArr[1] + '-' + val.checkArr[2];
-    },
-    getUserAddress: function() {
-      if (!this.address_id) return false;
-      let that = this;
-      getAddressDetail(this.address_id).then(res => {
-        let region = [res.data.province, res.data.city, res.data.district, res.data.street, res
-            .data.village
-        ];
-        console.log({
-          ...res.data
-        });
-        that.$set(that, 'userAddress', res.data);
-        that.$set(that, 'region', region);
-        that.city_id = res.data.city_id
-        if (res.data.areas) that.addressInfo = res.data.areas;
-        else {
+			OnChangeAddress(address) {
+				this.addressInfo = address;
+				this.list = address
+			},
 
-        }
-        that.villageInfo = [res.data.brigade]
-      });
-    },
-    // 导入共享地址(小程序)
-    getWxAddress: function() {
-      let that = this;
-      uni.authorize({
-        scope: 'scope.address',
-        success: function(res) {
-          uni.chooseAddress({
-            success: function(res) {
-              getCityList(res.provinceName + '/' + res.cityName + '/' + res
-                  .countyName).then(res => {
-                that.addressInfo = res.data;
-              })
-              that.userAddress.real_name = res.userName;
-              that.userAddress.phone = res.telNumber;
-              that.userAddress.detail = res.detailInfo;
-            },
-            fail: function(res) {
-              uni.showToast({
-                title: res.errMsg,
-                icon: 'none',
-                duration: 1000
-              });
-              if (res.errMsg == 'chooseAddress:cancel') return that.$util
-                  .Tips({
-                    title: '取消选择'
-                  });
-            },
-          })
-        },
-        fail: function(res) {
-          uni.showModal({
-            title: '您已拒绝导入微信地址权限',
-            content: '是否进入权限管理,调整授权?',
-            success(res) {
-              if (res.confirm) {
-                uni.openSetting({
-                  success: function(res) {}
-                });
-              } else if (res.cancel) {
-                return that.$util.Tips({
-                  title: '已取消!'
-                });
-              }
-            }
-          })
-        },
-      })
-    },
-    // 导入共享地址(微信);
-    getAddress() {
-      let that = this;
-      that.$wechat.openAddress().then(res => {
-        getCityList(res.provinceName + '/' + res.cityName + '/' + res.countryName).then(res => {
-          that.addressInfo = res.data;
-        })
-        that.userAddress.real_name = res.userName;
-        that.userAddress.phone = res.telNumber;
-        that.userAddress.detail = res.detailInfo;
-      }).catch(err => {
-        // console.log(err);
-      });
-    },
-    selfLocation() {
-      let self = this
-      uni.showLoading({
-        title: '定位中',
-        mask: true,
-      });
-      if (uni.getStorageSync('RejectTarget')) return
-      uni.getLocation({
-        type: 'gcj02',
-        success: (res) => {
-          res = wgsToGcj(res);
-          let latitude, longitude;
-          latitude = res.latitude.toString();
-          longitude = res.longitude.toString();
-          self.latitude = res.latitude
-          self.longitude = res.longitude
-          getGeocoder({
-            lat: latitude,
-            long: longitude
-          }).then(res => {
-            const data = res.data;
-            getCityList(data.address_component.province + '/' + data.address_component
-                .city + '/' + data.address_component.district + '/' + (!data
-                .address_reference.town ? '' : data.address_reference.town
-                .title)).then(res => {
-              self.addressInfo = res.data;
-              self.$set(self.userAddress, 'detail', data.formatted_addresses
-                  .recommend);
-              uni.hideLoading();
-            }).catch(e => {
-              uni.hideLoading();
-              uni.showToast({
-                title: '定位失败,请手动输入地址',
-                icon: 'none',
-                duration: 1000
-              });
-            })
-          }).catch(e => {
-            uni.hideLoading();
-            uni.showToast({
-              title: '定位失败,请手动输入地址',
-              icon: 'none',
-              duration: 1000
-            });
-          })
-        },
-        fail: (res) => {
-          uni.hideLoading();
-          uni.showToast({
-            title: res.errMsg,
-            icon: 'none',
-            duration: 1000
-          });
-        }
-      });
-    },
-    /**
-     * 提交用户添加地址
-     *
-     */
-    formSubmit: function(e) {
-      let that = this,
-          value = e.detail.value;
-		  value.location = this.location
+			// 地址数据
+			getCityList: function() {
+				let that = this;
+				getCityV2(0).then(res => {
+					this.district = res.data
+				})
+			},
+			changeRegion() {
+				this.display = true;
+			},
+			changevillage() {
+				this.display_one = true;
+			},
+			// 关闭地址弹窗;
+			changeClose: function() {
+				this.display = false;
+			},
+			changevClose: function() {
+				this.display_one = false;
+			},
+			// 授权回调
+			onLoadFun: function() {
+				this.isShowAuth = false;
+				this.getUserAddress();
+			},
+			// 授权关闭
+			authColse: function(e) {
+				this.isShowAuth = e
+			},
+			toggleTab(str) {
+				this.$refs[str].show();
+			},
+			onConfirm(val) {
+				this.region = val.checkArr[0] + '-' + val.checkArr[1] + '-' + val.checkArr[2];
+			},
+			getUserAddress: function() {
+				if (!this.address_id) return false;
+				let that = this;
+				getAddressDetail(this.address_id).then(res => {
+					let region = [res.data.province, res.data.city, res.data.district, res.data.street, res
+						.data.village
+					];
+					console.log({
+						...res.data
+					});
+					that.$set(that, 'userAddress', res.data);
+					that.$set(that, 'region', region);
+					that.city_id = res.data.city_id
+					if (res.data.areas) that.addressInfo = res.data.areas;
+					else {
 
-      if (!value.real_name) return that.$util.Tips({
-        title: '请填写收货人姓名'
-      });
-      if (!value.phone) return that.$util.Tips({
-        title: '请填写联系电话'
-      });
-      if (!/^1(3|4|5|7|8|9|6)\d{9}$/i.test(value.phone)) return that.$util.Tips({
-        title: '请输入正确的手机号码'
-      });
-      // if (!that.detail.length) return that.$util.Tips({
-      //   title: '请选择所在地区'
-      // });
-      // if (!that.villageInfo.length) return that.$util.Tips({
-      // 	title: '请选择所在村队'
-      // });
-      if (!value.detail) return that.$util.Tips({
-        title: '请填写详细地址'
-      });
-	  if (!value.location) return that.$util.Tips({
-	    title: '请填写详细地址'
-	  });
-      value.address_id = that.address_id;
-      value.is_default = that.userAddress.is_default ? 1 : 0;
-      value.area = that.detail;
-      // value.brigade = that.villageInfo[0]
+					}
+					that.villageInfo = [res.data.brigade]
+				});
+			},
+			// 导入共享地址(小程序)
+			getWxAddress: function() {
+				let that = this;
+				uni.authorize({
+					scope: 'scope.address',
+					success: function(res) {
+						uni.chooseAddress({
+							success: function(res) {
+								getCityList(res.provinceName + '/' + res.cityName + '/' + res
+									.countyName).then(res => {
+									that.addressInfo = res.data;
+								})
+								that.userAddress.real_name = res.userName;
+								that.userAddress.phone = res.telNumber;
+								that.userAddress.detail = res.detailInfo;
+							},
+							fail: function(res) {
+								uni.showToast({
+									title: res.errMsg,
+									icon: 'none',
+									duration: 1000
+								});
+								if (res.errMsg == 'chooseAddress:cancel') return that.$util
+									.Tips({
+										title: '取消选择'
+									});
+							},
+						})
+					},
+					fail: function(res) {
+						uni.showModal({
+							title: '您已拒绝导入微信地址权限',
+							content: '是否进入权限管理,调整授权?',
+							success(res) {
+								if (res.confirm) {
+									uni.openSetting({
+										success: function(res) {}
+									});
+								} else if (res.cancel) {
+									return that.$util.Tips({
+										title: '已取消!'
+									});
+								}
+							}
+						})
+					},
+				})
+			},
+			// 导入共享地址(微信);
+			getAddress() {
+				let that = this;
+				that.$wechat.openAddress().then(res => {
+					getCityList(res.provinceName + '/' + res.cityName + '/' + res.countryName).then(res => {
+						that.addressInfo = res.data;
+					})
+					that.userAddress.real_name = res.userName;
+					that.userAddress.phone = res.telNumber;
+					that.userAddress.detail = res.detailInfo;
+				}).catch(err => {
+					// console.log(err);
+				});
+			},
+			selfLocation() {
+				let self = this
+				uni.showLoading({
+					title: '定位中',
+					mask: true,
+				});
+				if (uni.getStorageSync('RejectTarget')) return
+				uni.getLocation({
+					type: 'gcj02',
+					success: (res) => {
+						res = wgsToGcj(res);
+						let latitude, longitude;
+						latitude = res.latitude.toString();
+						longitude = res.longitude.toString();
+						self.latitude = res.latitude
+						self.longitude = res.longitude
+						getGeocoder({
+							lat: latitude,
+							long: longitude
+						}).then(res => {
+							const data = res.data;
+							getCityList(data.address_component.province + '/' + data.address_component
+								.city + '/' + data.address_component.district + '/' + (!data
+									.address_reference.town ? '' : data.address_reference.town
+									.title)).then(res => {
+								self.addressInfo = res.data;
+								self.$set(self.userAddress, 'detail', data.formatted_addresses
+									.recommend);
+								uni.hideLoading();
+							}).catch(e => {
+								uni.hideLoading();
+								uni.showToast({
+									title: '定位失败,请手动输入地址',
+									icon: 'none',
+									duration: 1000
+								});
+							})
+						}).catch(e => {
+							uni.hideLoading();
+							uni.showToast({
+								title: '定位失败,请手动输入地址',
+								icon: 'none',
+								duration: 1000
+							});
+						})
+					},
+					fail: (res) => {
+						uni.hideLoading();
+						uni.showToast({
+							title: res.errMsg,
+							icon: 'none',
+							duration: 1000
+						});
+					}
+				});
+			},
+			/**
+			 * 提交用户添加地址
+			 *
+			 */
+			formSubmit: function(e) {
+				let that = this,
+					value = e.detail.value;
+				value.location = this.location
 
-      uni.showLoading({
-        title: '保存中',
-        mask: true
-      })
-      editAddress(value).then(res => {
-        if (that.id)
-          that.$util.Tips({
-            title: '修改成功',
-            icon: 'success'
-          });
-        else
-          that.$util.Tips({
-            title: '添加成功',
-            icon: 'success'
-          });
-        setTimeout(function() {
-          if (that.cartId) {
-            let cartId = that.cartId;
-            let pinkId = that.pinkId;
-            let couponId = that.couponId;
-            that.cartId = '';
-            that.pinkId = '';
-            that.couponId = '';
-            uni.$emit('updataAddress')
-            uni.navigateTo({
-              url: '/pages/users/order_confirm/index?cartId=' + cartId +
-                  '&addressId=' + (that.id ? that.id : res.data
-                      .address_id) + '&pinkId=' + pinkId + '&couponId=' +
-                  couponId
-            });
-          } else {
-            // #ifdef H5
-            return history.back();
-            // #endif
-            // #ifndef H5
-            return uni.navigateBack({
-              delta: 1,
-            })
-            // #endif
-          }
-        }, 1000);
-      }).catch(err => {
-        return that.$util.Tips({
-          title: err
-        });
-      })
-    },
-    ChangeIsDefault: function(e) {
-      this.$set(this.userAddress, 'is_default', !this.userAddress.is_default);
-    }
-  }
-}
+				if (!value.real_name) return that.$util.Tips({
+					title: '请填写收货人姓名'
+				});
+				if (!value.phone) return that.$util.Tips({
+					title: '请填写联系电话'
+				});
+				if (!/^1(3|4|5|7|8|9|6)\d{9}$/i.test(value.phone)) return that.$util.Tips({
+					title: '请输入正确的手机号码'
+				});
+				// if (!that.detail.length) return that.$util.Tips({
+				//   title: '请选择所在地区'
+				// });
+				// if (!that.villageInfo.length) return that.$util.Tips({
+				// 	title: '请选择所在村队'
+				// });
+				if (!value.detail) return that.$util.Tips({
+					title: '请填写详细地址'
+				});
+				if (!value.location) return that.$util.Tips({
+					title: '请填写详细地址'
+				});
+				value.address_id = that.address_id;
+				value.is_default = that.userAddress.is_default ? 1 : 0;
+				value.area = that.detail;
+				// value.brigade = that.villageInfo[0]
+
+				uni.showLoading({
+					title: '保存中',
+					mask: true
+				})
+				editAddress(value).then(res => {
+					if (that.id)
+						that.$util.Tips({
+							title: '修改成功',
+							icon: 'success'
+						});
+					else
+						that.$util.Tips({
+							title: '添加成功',
+							icon: 'success'
+						});
+					setTimeout(function() {
+						if (that.cartId) {
+							let cartId = that.cartId;
+							let pinkId = that.pinkId;
+							let couponId = that.couponId;
+							that.cartId = '';
+							that.pinkId = '';
+							that.couponId = '';
+							uni.$emit('updataAddress')
+							uni.navigateTo({
+								url: '/pages/users/order_confirm/index?cartId=' + cartId +
+									'&addressId=' + (that.id ? that.id : res.data
+										.address_id) + '&pinkId=' + pinkId + '&couponId=' +
+									couponId
+							});
+						} else {
+							// #ifdef H5
+							return history.back();
+							// #endif
+							// #ifndef H5
+							return uni.navigateBack({
+								delta: 1,
+							})
+							// #endif
+						}
+					}, 1000);
+				}).catch(err => {
+					return that.$util.Tips({
+						title: err
+					});
+				})
+			},
+			ChangeIsDefault: function(e) {
+				this.$set(this.userAddress, 'is_default', !this.userAddress.is_default);
+			}
+		}
+	}
 </script>
 
 <style scoped lang="scss">
-/deep/checkbox .uni-checkbox-input.uni-checkbox-input-checked,
-/deep/checkbox .wx-checkbox-input.wx-checkbox-input-checked {
-  border: 1px solid var(--view-theme) !important;
-  background-color: var(--view-theme) !important;
-  color: #fff !important;
-}
+	/deep/checkbox .uni-checkbox-input.uni-checkbox-input-checked,
+	/deep/checkbox .wx-checkbox-input.wx-checkbox-input-checked {
+		border: 1px solid var(--view-theme) !important;
+		background-color: var(--view-theme) !important;
+		color: #fff !important;
+	}
 
-.addAddress .list {
-  background-color: #fff;
-}
+	.addAddress .list {
+		background-color: #fff;
+	}
 
-.addAddress .list .item {
-  padding: 30rpx;
-  border-top: 1px solid #eee;
-  position: relative;
-}
+	.addAddress .list .item {
+		padding: 30rpx;
+		border-top: 1px solid #eee;
+		position: relative;
+	}
 
-.addAddress .list .item .location {
-  position: absolute;
-  right: 30rpx;
-  top: 15rpx;
-  text-align: center;
-  font-size: 20rpx;
+	.addAddress .list .item .location {
+		position: absolute;
+		right: 30rpx;
+		top: 15rpx;
+		text-align: center;
+		font-size: 20rpx;
 
-  .iconfont {
-    color: var(--view-theme);
-  }
-}
+		.iconfont {
+			color: var(--view-theme);
+		}
+	}
 
-.addAddress .list .item .name {
-  width: 195rpx;
-  font-size: 30rpx;
-  color: #333;
-}
+	.addAddress .list .item .name {
+		width: 195rpx;
+		font-size: 30rpx;
+		color: #333;
+	}
 
-.addAddress .list .item .address {
-  flex: 1;
-  margin-left: 20rpx;
-}
+	.addAddress .list .item .address {
+		flex: 1;
+		margin-left: 20rpx;
+	}
 
-.addAddress .list .item input,
-.region .region_count {
-  width: 475rpx;
-  font-size: 30rpx;
-  box-sizing: border-box;
-}
+	.addAddress .list .item input,
+	.region .region_count {
+		width: 475rpx;
+		font-size: 30rpx;
+		box-sizing: border-box;
+	}
 
-.region .region_count {
-  // height: 42rpx;
-  // line-height: 42rpx;
-  display: flex;
-  align-items: center;
-  justify-content: space-between;
+	.region .region_count {
+		// height: 42rpx;
+		// line-height: 42rpx;
+		display: flex;
+		align-items: center;
+		justify-content: space-between;
 
-  .icon-xiangyou {
-    float: right;
-  }
-}
+		.icon-xiangyou {
+			float: right;
+		}
+	}
 
-.addAddress .list .location-input {
-  padding-right: 70rpx;
-}
+	.addAddress .list .location-input {
+		padding-right: 70rpx;
+	}
 
-.addAddress .list .item .placeholder {
-  color: #ccc;
-}
+	.addAddress .list .item .placeholder {
+		color: #ccc;
+	}
 
-.addAddress .list .item picker {
-  width: 475rpx;
-}
+	.addAddress .list .item picker {
+		width: 475rpx;
+	}
 
-.addAddress .list .item picker .picker {
-  width: 410rpx;
-  font-size: 30rpx;
-}
+	.addAddress .list .item picker .picker {
+		width: 410rpx;
+		font-size: 30rpx;
+	}
 
-.addAddress .list .item picker .iconfont {
-  font-size: 43rpx;
-}
+	.addAddress .list .item picker .iconfont {
+		font-size: 43rpx;
+	}
 
-.addAddress .default {
-  padding: 0 30rpx;
-  height: 90rpx;
-  background-color: #fff;
-  margin-top: 23rpx;
-}
+	.addAddress .default {
+		padding: 0 30rpx;
+		height: 90rpx;
+		background-color: #fff;
+		margin-top: 23rpx;
+	}
 
-.addAddress .default checkbox {
-  margin-right: 15rpx;
-}
+	.addAddress .default checkbox {
+		margin-right: 15rpx;
+	}
 
-.addAddress .keepBnt {
-  width: 690rpx;
-  height: 86rpx;
-  border-radius: 50rpx;
-  text-align: center;
-  line-height: 86rpx;
-  margin: 50rpx auto;
-  font-size: 32rpx;
-  color: #fff;
-  background-color: var(--view-theme);
-}
+	.addAddress .keepBnt {
+		width: 690rpx;
+		height: 86rpx;
+		border-radius: 50rpx;
+		text-align: center;
+		line-height: 86rpx;
+		margin: 50rpx auto;
+		font-size: 32rpx;
+		color: #fff;
+		background-color: var(--view-theme);
+	}
 
-.addAddress .wechatAddress {
-  width: 690rpx;
-  height: 86rpx;
-  border-radius: 50rpx;
-  text-align: center;
-  line-height: 86rpx;
-  margin: 0 auto;
-  font-size: 32rpx;
-  color: var(--view-theme);
-  border: 1px solid var(--view-theme);
-}
-</style>
+	.addAddress .wechatAddress {
+		width: 690rpx;
+		height: 86rpx;
+		border-radius: 50rpx;
+		text-align: center;
+		line-height: 86rpx;
+		margin: 0 auto;
+		font-size: 32rpx;
+		color: var(--view-theme);
+		border: 1px solid var(--view-theme);
+	}
+</style>
\ No newline at end of file