陶杰
2024-09-11 6d54fb64df667c0c396fc7d74aeed9e096d95f95
pages/user/address/address.vue
@@ -78,7 +78,7 @@
                     手机号
                  </view>
                  <view class="form-item-value">
                     <input v-model="submitForm.tel" placeholder="请输入收货人手机号" class="form-input"></input>
                     <input v-model="submitForm.tel" placeholder="请输入收货人手机号" class="form-input" @blur="validatePhoneNumber()" ></input>
                  </view>
               </view>
               <view class="form-item">
@@ -129,7 +129,9 @@
   // import qqmapwx from '@/plugins/qqmap-wx-jssdk.min.js';
   // const lockey = 'VUHBZ-2AMLP-B7AD7-VUQZ7-D4TW5-MFFVN'; //使用在腾讯位置服务申请的key
   // const chooseLocation = requirePlugin('chooseLocation');
   import {
      mapState
   } from 'vuex'
   export default {
      async onPullDownRefresh() {
         this.page.current = 0
@@ -169,6 +171,16 @@
         };
      },
      methods: {
         validatePhoneNumber() {
             // 手机号码正则表达式,可以根据需要调整
             const phoneRegex = /^[1][3-9][0-9]{9}$/;
            if (!phoneRegex.test(this.submitForm['tel'])) {
                 this.$message.showToast('请填写正确手机号码')
              }
         },
         addAddress() {
            delete this.submitForm.id
            this.submitForm['name'] = ''
@@ -186,7 +198,14 @@
               this.submitForm.province = ''
               this.submitForm.city = ''
               this.submitForm.region = ''
               if (e.detail.value.length <= 3) {
               if (e.detail.value.length == 2) {
                  if (!!e.detail.value[0])
                     this.submitForm.province = e.detail.value[0].value
                  if (!!e.detail.value[0])
                     this.submitForm.city = e.detail.value[0].value
                  if (!!e.detail.value[1])
                     this.submitForm.region = e.detail.value[1].value
               } else if (e.detail.value.length <= 3) {
                  if (!!e.detail.value[0])
                     this.submitForm.province = e.detail.value[0].value
                  if (!!e.detail.value[1])
@@ -209,9 +228,22 @@
            }
         },
         async init_area() {
            const res = await this.$http.request('get', '/api/pub/china/area/json')
            this.regionDataPlus = res.data && JSON.parse(res.data.replaceAll('code', 'value').replaceAll('name',
               'text')) || []
            if (this.regionDataPlus && this.regionDataPlus.length > 0) {
            } else {
               var a = this.$storage.getItem('cache_area')
               if (a) {
                  this.regionDataPlus = JSON.parse(a) || []
               } else {
                  const res = await this.$http.request('get', '/api/pub/china/area/json')
                  // console.log('area', JSON.parse(res.data))
                  this.regionDataPlus = res.data && JSON.parse(res.data.replaceAll('code', 'value').replaceAll(
                     'name',
                     'text')) || []
                  this.$storage.setItem('cache_area', JSON.stringify(this.regionDataPlus))
               }
            }
         },
         chooseLocation() {
            //前往接口挑选位置
@@ -347,8 +379,10 @@
               this.$message.hideLoading()
            } else {
               this.submitForm = {
                  name: this.currentInfo && this.currentInfo.nickName || '',
                  tel: this.currentInfo && this.currentInfo.tel || '',
                  // name: this.currentInfo && this.currentInfo.nickName || '',
                  // tel: this.currentInfo && this.currentInfo.tel || '',
                  name: '',
                  tel: '',
                  address: '',
                  isDefault: false,
                  province: '',
@@ -369,6 +403,16 @@
               this.$message.showToast('字段未填写完整')
               return
            }
            // 手机号码正则表达式,可以根据需要调整
             const phoneRegex = /^[1][3-9][0-9]{9}$/;
            if (!phoneRegex.test(this.submitForm['tel'])) {
               this.$message.showToast('请填写正确手机号码')
               return
            }
            this.$message.showLoading()
            const {
               code
@@ -380,11 +424,18 @@
            if (code === 0) {
               this.$refs.popup_form.close()
               this.$message.showToast(this.submitForm.id ? '修改成功' : '新增成功')
               let tmp = this
               setTimeout(() => {
                  tmp.page.current = 1
                  tmp.refreshList()
               }, 300)
               //如果当前选择的地址是这个,需要更新一下数据
               if (this.address.id && this.submitForm.id === this.address.id) {
                  this.$store.commit('setDefaultAddress', {
                     ...this.submitForm
                  })
               }
            }
         },