lin
2026-05-26 7b1e4d3539ad229b5766bd93093e5a32f4d65d8c
pages/quanyi/add.vue
@@ -6,10 +6,12 @@
import agreement from "@/pages/quanyi/components/agreement";
import textBox from "@/components/textBox/index.vue";
import provincesCity from '@/components/picker/provincesCity'
export default {
  name: "add",
  components: {
    addAddress,agreement,textBox
    addAddress,agreement,textBox,provincesCity
  },
  data() {
    return {
@@ -69,6 +71,13 @@
  },
  computed: {
   provincesCityStr() {
      if(this.addressDetail.provinceName || this.addressDetail.cityName || this.addressDetail.areaName) {
         return `${this.addressDetail.provinceName}${this.addressDetail.cityName}${this.addressDetail.areaName}`
      } else {
         return ''
      }
   },
    addressStr() {
      if(this.addressDetail.provinceName || this.addressDetail.cityName || this.addressDetail.areaName) {
        return `${this.addressDetail.provinceName}${this.addressDetail.cityName}${this.addressDetail.areaName}${this.addressDetail.detailAddr}`
@@ -79,7 +88,7 @@
    customStyle() {
      return {
        height: "100rpx",
        background: "#EE2626",
        background: "#4766FE",
        color: "#fff",
        borderRadius: "50rpx",
        fontSize: "34rpx",
@@ -171,46 +180,47 @@
  },
  mounted(){
     // this.$refs.codeUi.open()
    this.windowHeight = uni.getSystemInfoSync().windowHeight;
    this.interval = setInterval(() => {
      let newHeight = window.innerHeight;
      if (this.windowHeight !== newHeight) {
        this.windowHeight = newHeight;
        this.handleResize();
      }
    }, 200);
    // this.interval = setInterval(() => {
    //   let newHeight = window.innerHeight;
    //   if (this.windowHeight !== newHeight) {
    //     this.windowHeight = newHeight;
    //     this.handleResize();
    //   }
    // }, 200);
  },
  methods: {
    kk(){
      const _this = this;
      _this.getUserInfo()
      // if(this.addressStr.length < 8){
      if(this.addressStr.length < 8){
      //   uni.showToast({
      //     title: '请输入详细地址',
      //     icon: 'none'
      //   });
      //   return
      // }
        uni.showToast({
          title: '请输入详细地址',
          icon: 'none'
        });
        return
      }
      // 移到上面了,先保存地址再走下面的接口
      // uni.request({
      //   url: _this.$webHost+'/api/v2/sign/signed/'+uni.getStorageSync('ygxLogin').customerId,
      //   method:'POST',
      // })
      uni.request({
        url: _this.$webHost+'/api/v2/sign/signed/'+uni.getStorageSync('ygxLogin').customerId,
        method:'POST',
      })
      uni.request({
        url: _this.$webHost+'/api/v2/pay/memberPurchaseBenefitsPays',
        method:'POST',
        data:{
          customerId: uni.getStorageSync('ygxLogin').customerId,
          memberPeriodConfigId: uni.getStorageSync('memberPeriodConfigInfo').id
        },
        success(){
          _this.getUserInfo()
        }
      })
      // uni.request({
      //   url: _this.$webHost+'/api/v2/pay/memberPurchaseBenefitsPays',
      //   method:'POST',
      //   data:{
      //     customerId: uni.getStorageSync('ygxLogin').customerId,
      //     memberPeriodConfigId: uni.getStorageSync('memberPeriodConfigInfo').id
      //   },
      //   success(){
      //     _this.getUserInfo()
      //   }
      // })
    },
@@ -286,6 +296,15 @@
        },
      });*/
    },
    isValidIDCard(IDCard) {
      // 正则:15位纯数字 或 18位(前17位数字 + 最后一位数字/X)
      const idCardReg = /(^\d{15}$)|(^\d{17}([0-9]|X)$)/;
      return idCardReg.test(IDCard)
    },
    isValidChineseBankCard(cardNumber) {
      const length = cardNumber.length;
      return length === 16 || length === 19;
    },
    submit() {
      const _this = this;
      if(!this.protocolChecked[0]){uni.showToast({title: '请阅读并同意相关协议', icon: 'none'});return;}
@@ -302,6 +321,14 @@
          icon: "none",
        });
        return;
      } else {
        if (!_this.isValidIDCard(_this.idCardNo)) {
          uni.showToast({
            title: "请输入正确的身份证号",
            icon: "none",
          });
          return;
        }
      }
      if(!_this.cardNumber){
        uni.showToast({
@@ -309,6 +336,14 @@
          icon: "none",
        });
        return;
      } else {
        if (!_this.isValidChineseBankCard(_this.cardNumber)) {
          uni.showToast({
            title: "请输入正确的银行卡号",
            icon: "none",
          });
          return;
        }
      }
      if(!_this.cardPhone){
        uni.showToast({
@@ -325,13 +360,54 @@
        });
        return
      }
      if(!_this.addressStr){
        uni.showToast({
          title: "请填写详细地址",
          icon: "none",
        });
        return;
      }
     // 旧的地址判断
      // if(!_this.addressStr){
      //   uni.showToast({
      //     title: "请填写详细地址",
      //     icon: "none",
      //   });
      //   return;
      // }
     // 新增地址移到外面判断
     if (!_this.addressDetail.consignee) {
       uni.showToast({
         title: "请输入收件人姓名 ",
         icon: "none",
       });
       return;
     }
     if (!_this.addressDetail.contactPhone) {
       uni.showToast({
         title: "请输入收件人联系电话",
         icon: "none",
       });
       return;
     }
     if (!/^1(3|4|5|7|8|9|6)\d{9}$/i.test(_this.addressDetail.contactPhone)) return uni.showToast({
       title: '请输入正确的收件人联系电话',
       icon: 'none'
     });
     if (!_this.addressDetail.provinceCode) {
       uni.showToast({
         title: "请输入收件人所在地",
         icon: "none",
       });
       return;
     }
     if (!_this.addressDetail.detailAddr) {
       uni.showToast({
         title: "请输入收件人详细地址",
         icon: "none",
       });
       return;
     }
      if (_this.addressDetail.detailAddr.length < 8) {
        uni.showToast({
         title: "详细地址需大于等于8个字符",
         icon: "none",
        });
        return;
      }
      if(_this.getPayBindCardInfo[0].bindStatus) {
@@ -357,71 +433,153 @@
          _this.getPayBindCardInfo = res.data.data;
        }
      })
     // 保存地址:地址保存成功后再走提交接口
     uni.request({
       url: _this.$webHost + "/api/v2/customer/appAddCstAddress",
       method: "POST",
       data: {
         ..._this.addressDetail,
          customerId: uni.getStorageSync('ygxLogin').customerId,
         sourceId: uni.getStorageSync('ygxLogin').appId
       },
      success: function (res) {
         if(res.data.code==200){
            uni.request({
              url: _this.$webHost+'/api/v2/pay/verifySMSCodes',
              method:'POST',
              data:{
               ..._this.bindCardId,
               "customerId": uni.getStorageSync('ygxLogin').customerId,
               "cardPhone" : _this.cardPhone,  //手机号
               "cardNumber": _this.cardNumber, //卡号
               "cardName" : _this.cardName, // 名字
               "cardIdNo" : _this.cardIdNo,
               "bankName" : _this.bankName,
               "cardNo" :  _this.cardNumber,
               "verificationCode": _this.verificationCode,
              },
              success(e){
               if(e.data.code!==200){
                  uni.showToast({
                    title: e.data.data,
                    icon: 'none'
                  });
                  return;
               }
               uni.request({
                 url:_this.$webHost+`/api/v2/pay/getPayBindCardInfo/${uni.getStorageSync('ygxLogin').customerId}`,
                 method:'get',
                 success:function(res){
                  const  ls =  res.data.data;
                  _this.getPayBindCardInfo = res.data.data;
                  if(!ls || !ls.some(item => item.bindStatus == 0)) {_this.kk();return;}
                  if(ls.length && !ls[1].bindStatus){
                    _this.$refs.codeUi.open()
                    _this.isCounting = false;
                    _this.countText = '';
                    return;
                  }
                  if(ls.length && !ls[2].bindStatus){
                    _this.$refs.setUi.open();
                    _this.isCounting = false;
                    _this.countText = '';
                    return;
                  }
                  if(!ls || !ls.some(item => item.bindStatus == 0)) {_this.kk();return;}
                  _this.kk()
                 }
               })
              }
            })
         } else {
            uni.showToast({
              title: res.data.msg,
              icon: 'none'
            });
         }
      }
     })
      uni.request({
        url: _this.$webHost+'/api/v2/pay/verifySMSCodes',
        method:'POST',
        data:{
          ..._this.bindCardId,
   //    uni.request({
   //      url: _this.$webHost+'/api/v2/pay/verifySMSCodes',
   //      method:'POST',
   //      data:{
   //        ..._this.bindCardId,
          "customerId": uni.getStorageSync('ygxLogin').customerId,
          "cardPhone" : _this.cardPhone,  //手机号
   //        "customerId": uni.getStorageSync('ygxLogin').customerId,
   //        "cardPhone" : _this.cardPhone,  //手机号
          "cardNumber": _this.cardNumber, //卡号
   //        "cardNumber": _this.cardNumber, //卡号
          "cardName" : _this.cardName, // 名字
          "cardIdNo" : _this.cardIdNo,
          "bankName" : _this.bankName,
          "cardNo" :  _this.cardNumber,
   //        "cardName" : _this.cardName, // 名字
   //        "cardIdNo" : _this.cardIdNo,
   //        "bankName" : _this.bankName,
   //        "cardNo" :  _this.cardNumber,
          "verificationCode": _this.verificationCode,
        },
        success(e){
          if(e.data.code!==200){
            // _this.$util.Tips({
            //   title: e.data.data
            // });
         uni.showToast({
           title: e.data.data,
           icon: 'none'
         });
          }
          uni.request({
            url:_this.$webHost+`/api/v2/pay/getPayBindCardInfo/${uni.getStorageSync('ygxLogin').customerId}`,
            method:'get',
            success:function(res){
              const  ls =  res.data.data;
              _this.getPayBindCardInfo = res.data.data;
              if(!ls || !ls.some(item => item.bindStatus == 0)) {_this.kk();return;}
   //        "verificationCode": _this.verificationCode,
   //      },
   //      success(e){
   //        if(e.data.code!==200){
   //          // _this.$util.Tips({
   //          //   title: e.data.data
   //          // });
         // uni.showToast({
         //   title: e.data.data,
         //   icon: 'none'
         // });
         // return;
   //        }
   //        uni.request({
   //          url:_this.$webHost+`/api/v2/pay/getPayBindCardInfo/${uni.getStorageSync('ygxLogin').customerId}`,
   //          method:'get',
   //          success:function(res){
   //            const  ls =  res.data.data;
   //            _this.getPayBindCardInfo = res.data.data;
   //            if(!ls || !ls.some(item => item.bindStatus == 0)) {_this.kk();return;}
              if(ls.length && !ls[1].bindStatus){
                _this.$refs.codeUi.open()
                _this.isCounting = false;
                _this.countText = '';
                return;
              }
              if(ls.length && !ls[2].bindStatus){
                _this.$refs.setUi.open();
                _this.isCounting = false;
                _this.countText = '';
                return;
              }
              if(!ls || !ls.some(item => item.bindStatus == 0)) {_this.kk();return;}
   //            if(ls.length && !ls[1].bindStatus){
   //              _this.$refs.codeUi.open()
   //              _this.isCounting = false;
   //              _this.countText = '';
   //              return;
   //            }
   //            if(ls.length && !ls[2].bindStatus){
   //              _this.$refs.setUi.open();
   //              _this.isCounting = false;
   //              _this.countText = '';
   //              return;
   //            }
   //            if(!ls || !ls.some(item => item.bindStatus == 0)) {_this.kk();return;}
              _this.kk()
   //            _this.kk()
            }
   //          }
          })
        }
      })
   //        })
   //      }
   //    })
    },
@@ -448,7 +606,7 @@
        });
        that.isCounting = true;
        // that.isCounting = true;
@@ -472,7 +630,15 @@
            "bankId": "1",
          },
          success(){
          success(response){
           if(response.data.code != 200) {
              uni.showToast({
                title: response.data.data,
                icon: 'none'
              });
              return;
           }
            uni.request({
              url: that.$webHost+'/api/v2/pay/bindCardToCodes',
              method:'POST',
@@ -506,7 +672,7 @@
                  })
                  return;
                }
            that.isCounting = true;
                if(res.data.code === 200){
                  that.bindCardId = res.data.data;
                } else {
@@ -852,6 +1018,32 @@
          url: '/pages/index/index'
        });
      },
      openProvincesCity() {
         let defaultData = []
         if(this.addressDetail.provinceCode && this.addressDetail.cityCode) {
            defaultData = [this.addressDetail.provinceCode, this.addressDetail.cityCode]
         }
         this.$refs.provincesCity.open(defaultData)
      },
      provincesCityChange(e) {
         if(e.value.length > 0) {
            this.addressDetail.provinceCode = e.value[0].code
            this.addressDetail.provinceName = e.value[0].title
            this.addressDetail.cityCode = e.value[1].code
            this.addressDetail.cityName = e.value[1].title
            if(e.value[2]) {
               this.addressDetail.areaCode = e.value[2].code
               this.addressDetail.areaName = e.value[2].title
            } else {
               this.addressDetail.areaCode = ""
               this.addressDetail.areaName = ""
            }
         }
      },
    },
    onUnload() {
      clearInterval(this.interval);
@@ -864,86 +1056,154 @@
    <view >
      <view class="top">为向您提供更好的安全保障,您需要提供银行卡号以完成信息核验</view>
    </view>
    <view style="background: white;height: 20rpx;"></view>
    <view style="height: 20rpx;"></view>
    <view class="form">
      <view class="clo">
        <view class="label">
          <text>真实姓名</text>
        </view>
        <view class="inp_box">
          <input  maxlength="8"   v-model="cardName" class="inp" placeholder="请填写真实姓名" />
        </view>
      <view class="form-item-title" style="margin:  40rpx;font-size: 32rpx;color: #333333;font-weight: 600;">请输入您的真实身份</view>
      <view class="form-item-ct">
        <view class="clo">
         <view class="label">
           <text>持卡人姓名</text>
         </view>
         <view class="inp_box">
           <input  maxlength="8"   v-model="cardName" class="inp" placeholder="请输入持卡人姓名" />
         </view>
      </view>
      <view class="clo">
        <view class="label">
          <text>身份证号</text>
        </view>
        <view class="inp_box">
          <input  maxlength="18"   v-model="idCardNo" class="inp" placeholder="请填写身份证号" />
        </view>
        </view>
        <view class="clo">
         <view class="label">
           <text>身份证号</text>
         </view>
         <view class="inp_box">
           <input  maxlength="18"   v-model="idCardNo" class="inp" placeholder="请输入身份证号码" />
         </view>
      </view>
        </view>
      </view>
<!--      <view style="background: #F7F7F7;height: 20rpx;"></view>-->
      <view class="form-item-title" style="margin:  40rpx;font-size: 32rpx;color: #333333;font-weight: 600;">请输入您的银行卡信息</view>
      <view class="form-item-ct">
           <view class="clo">
            <view class="label">
              <text>银行卡号</text>
            </view>
            <view class="inp_box">
              <input type="number" maxlength="30"  @blur="validateAndCacheCardInfo" v-model="cardNumber" class="inp" placeholder="请输入银行卡号" />
              <image @click="cardNumber=''" v-show="!bindStatus && cardNumber" :src="offIcon" style="width: 40rpx;height: 40rpx;position: absolute;right: 0rpx;top: 30rpx;"></image>
            </view>
      <view class="clo">
        <view class="label">
          <text>银行卡号</text>
        </view>
        <view class="inp_box">
          <input  maxlength="30"  @blur="validateAndCacheCardInfo" v-model="cardNumber" class="inp" placeholder="请输入银行卡号" />
          <image @click="cardNumber=''" v-show="!bindStatus && cardNumber" :src="offIcon" style="width: 40rpx;height: 40rpx;position: absolute;right: 0rpx;top: 30rpx;"></image>
        </view>
           </view>
           <view class="clo">
            <view class="label">
              <text>银行卡名称</text>
            </view>
            <view class="inp_box" style="z-index: 1" >
              <view style="width: 606rpx;height: 100rpx;border-radius: 30rpx;padding-left: 20rpx;line-height: 100rpx;background-color: #F7F7F7;" :class="bankName?'':'a3'">{{bankName?bankName:'请输入银行卡名称'}}</view>
      </view>
      <view class="clo">
        <view class="label">
          <text>所属银行</text>
        </view>
        <view class="inp_box" style="z-index: 1" >
          <view style="width: 670rpx;height: 100rpx;border: 1px solid #EEEEEE;border-radius: 20rpx;padding-left: 20rpx;line-height: 100rpx;" :class="bankName?'':'a3'">{{bankName?bankName:'请输入所属银行'}}</view>
            </view>
        </view>
           </view>
           <view class="clo">
            <view class="label">
              <view>预留手机号</view>
            </view>
            <view class="inp_box" style="position: relative;">
              <input  maxlength="11" v-model="cardPhone"  class="inp" placeholder="请输入银行预留手机号" />
      <!--          <view class="code" style="position: absolute;top: 30rpx;right: 0;" @click="getSmsCode">-->
      <!--            <text :class="isCounting?'code_k':'code_a'">{{ isCounting ? countText : '获取验证码' }}</text>-->
      <!--          </view>-->
            </view>
      </view>
      <view class="clo">
        <view class="label">
          <view>银行预留手机号</view>
        </view>
        <view class="inp_box" style="position: relative;">
          <input  maxlength="11" v-model="cardPhone"  class="inp" placeholder="请填写手机号" />
<!--          <view class="code" style="position: absolute;top: 30rpx;right: 0;" @click="getSmsCode">-->
<!--            <text :class="isCounting?'code_k':'code_a'">{{ isCounting ? countText : '获取验证码' }}</text>-->
<!--          </view>-->
        </view>
           </view>
           <view class="clo" v-if="getPayBindCardInfo.length && !getPayBindCardInfo[0].bindStatus">
            <view class="label">
              <text>短信验证码</text>
            </view>
            <view class="inp_box" style="position: relative;">
              <input  maxlength="6" v-model="verificationCode" class="inp" type="number" placeholder="请输入手机短信验证码" />
      </view>
      <view class="clo" v-if="getPayBindCardInfo.length && !getPayBindCardInfo[0].bindStatus">
        <view class="label">
          <text>验证码</text>
        </view>
        <view class="inp_box" style="position: relative;">
          <input  maxlength="6" v-model="verificationCode" class="inp" type="number" placeholder="请填写验证码" />
              <view class="code" style="position: absolute;top: 30rpx;right: 0;" @click="getSmsCode">
               <text :class="isCounting?'code_k':'code_a'">{{ isCounting ? countText : '获取验证码' }}</text>
              </view>
            </view>
          <view class="code" style="position: absolute;top: 30rpx;right: 0;" @click="getSmsCode">
            <text :class="isCounting?'code_k':'code_a'">{{ isCounting ? countText : '获取验证码' }}</text>
          </view>
        </view>
           </view>
     </view>
      </view>
      <view class="clo" @click="$refs.address.open()">
        <view class="label" >
          <text>收货地址</text>
        </view>
        <view class="inp_box">
          <view style="font-size: 28rpx;width: 670rpx;height: 100rpx;border: 1px solid #EEEEEE;border-radius: 20rpx;padding-left: 20rpx;line-height: 100rpx;" v-if="addressStr">{{addressStr}}</view>
          <view style="font-size: 28rpx;color: #BDBDBE;width: 670rpx;height: 100rpx;border: 1px solid #EEEEEE;border-radius: 20rpx;padding-left: 20rpx;line-height: 100rpx;" v-else>请填写收货地址</view>
        </view>
      </view>
      <view class="form-item-title" style="margin:  40rpx;font-size: 32rpx;color: #333333;font-weight: 600;">请输入您的收货地址</view>
      <view class="form-item-ct">
         <!-- 旧的地址弹窗 -->
        <!-- <view class="clo" @click="$refs.address.open()">
         <view class="label" >
           <text>收货地址</text>
         </view>
         <view class="inp_box">
           <view style="font-size: 28rpx;width: 606rpx;height: 100rpx;border-radius: 20rpx;padding-left: 20rpx;line-height: 100rpx;background-color: #F7F7F7;" v-if="addressStr">{{addressStr}}</view>
           <view style="font-size: 28rpx;color: #BDBDBE;width: 606rpx;height: 100rpx;border-radius: 20rpx;padding-left: 20rpx;line-height: 100rpx;background-color: #F7F7F7;" v-else>请输入收货地址</view>
         </view>
        </view> -->
        <!-- 新增的地址放外面了 -->
        <uv-form>
           <view class="clo">
            <view class="label">
              <text>收件人姓名</text>
            </view>
            <view class="inp_box">
              <input maxlength="20" v-model="addressDetail.consignee" class="inp" placeholder="请输入收件人姓名" />
            </view>
           </view>
           <view class="clo">
            <view class="label">
              <text>收件人联系电话</text>
            </view>
            <view class="inp_box">
              <input maxlength="11" v-model="addressDetail.contactPhone" class="inp" placeholder="请输入收件人联系电话" />
            </view>
           </view>
           <!-- <view class="clo" @click="openProvincesCity()">
            <view class="label">
              <text>收件人所在地</text>
            </view>
            <view class="inp_box">
              <input disabled="true" v-model="provincesCityStr" class="inp" placeholder="请输入收件人所在地" />
            </view>
           </view> -->
           <uv-form-item
              @click="openProvincesCity()"
           >
           <view class="clo">
              <view class="label">
                <text>收件人所在地</text>
              </view>
              <view class="inp_box" style="position: relative;">
               <uv-input
                 class="inp"
                 style="width: 610rpx;"
                 :adjustPosition="true"
                 :disabled="true"
                 disabledColor="none"
                 inputAlign="left"
                 v-model="provincesCityStr"
                 border="none"
                 placeholder="请输入收件人所在地"
               ></uv-input>
               <uv-icon name="arrow-down" style="position: absolute;top: 40rpx;right: 20rpx;"></uv-icon>
               </view>
            </view>
           </uv-form-item>
           <view class="clo">
            <view class="label">
              <text>收件人详细地址</text>
            </view>
            <view class="inp_box">
              <input maxlength="30" v-model="addressDetail.detailAddr" class="inp" placeholder="请输入收件人详细地址" />
            </view>
           </view>
        </uv-form>
     </view>
    </view>
@@ -958,27 +1218,28 @@
          </view>
        </view>-->
    <view style=" padding: 0 30rpx;margin-top: 30rpx;">
      <view style="display: flex;">
        <uv-checkbox-group
            activeColor="red"
            shape="circle"
            v-model="protocolChecked">
          <uv-checkbox size="14" :name="1" >
          </uv-checkbox>
          <text class="protocol-text" >
            我已阅读并同意
            <text style="font-size: 24rpx;" class="link-text"  @click="$refs.agreement.open()">《相关协议》</text>
          </text>
        </uv-checkbox-group>
      </view>
    </view>
    <view class="sub" v-if="show">
      <button  :class="protocolChecked[0]?'':'nots'" class="sub_btn" @click="submit">提交</button>
    </view>
   <view style=" padding: 0 30rpx;margin-top: 30rpx;">
     <view style="display: flex;font-size: 28rpx;align-items: center;">
       <uv-checkbox-group
         style="align-items: center;"
           activeColor="#4766FE"
           shape="circle"
           v-model="protocolChecked">
         <uv-checkbox size="22" :name="1" iconSize="20">
         我已阅读并同意
         </uv-checkbox>
         <text class="protocol-text" >
           <text style="font-size: 28rpx;" class="link-text"  @click="$refs.agreement.open()">《相关协议》</text>
         </text>
       </uv-checkbox-group>
     </view>
   </view>
    <agreement ref="agreement"></agreement>
    <uni-popup ref="popup" type="bottom" >
@@ -998,7 +1259,19 @@
    <uv-popup mode="center" round="20" ref="codeUi" :closeOnClickOverlay="false" >
      <view style="padding: 40rpx;width: 690rpx;background: url('/static/img/smsBg.png') no-repeat top center; background-size: 100%;height: 650rpx;">
      <view style="padding: 40rpx;width: 690rpx;background: url('/static/img/smsBg.png') no-repeat top center; background-size: 100%;height: 650rpx;position: relative;">
        <image
              @click="$refs.codeUi.close()"
              src="@/static/img/off.png"
              style="
          width: 50rpx;
          height: 50rpx;
          position: absolute;
          left: 320rpx;
          bottom: -70rpx;
          z-index: 6;
        "
          ></image>
        <view class="head">
          <view
              style="
@@ -1006,21 +1279,9 @@
          font-weight: bold;
          font-size: 36rpx;
          position: relative;
          height: 50rpx;
          height: 30rpx;
        "
          >
            <image
                @click="$refs.codeUi.close()"
                src="@/static/img/off.png"
                style="
            width: 50rpx;
            height: 50rpx;
            position: absolute;
            right: 0;
            top: -2rpx;
          "
            ></image>
          </view>
        </view>
        <view  style="
@@ -1028,10 +1289,10 @@
          font-size: 36rpx;
          position: relative;
         margin-bottom: 12rpx;
         text-align: center;
         text-align: left;
        ">短信确认</view>
        <view style="font-size: 28rpx;color: #252938;text-align: center;">为确保安全到账,需再次对您的收款账户进行短信验证</view>
        <view style="font-size: 28rpx;color: #252938;text-align: left;">为确保安全到账,需再次对您的收款账户进行短信验证</view>
        <view class="content">
          <uv-form
@@ -1046,7 +1307,7 @@
                class="item"
                label=""
                prop="repayTermStr"
            style="position: relative;"
            >
              <uv-input
                  :adjustPosition="true"
@@ -1058,15 +1319,16 @@
                  border="none"
                  placeholder="请输入手机号"
                  style="height: 100rpx;border: 1px solid #EEEEEE;border-radius: 30rpx;padding: 0 20rpx;"
                  style="height: 100rpx;border: 1px solid #EEEEEE;border-radius: 30rpx;padding: 0 50rpx;"
              ></uv-input>
           <image src="/static/img/phoneIcon.png" style="width: 44rpx;height: 44rpx;position: absolute;left: 10rpx;"></image>
            </uv-form-item>
            <uv-form-item
                class="item"
                label=""
                prop="needVerify"
            style="position: relative;"
            >
              <uv-input
                  :adjustPosition="true"
@@ -1074,18 +1336,20 @@
                  v-model="verificationCodeT"
                  border="none"
                  placeholder="请输入验证码"
                  style="height: 100rpx;border: 1px solid #EEEEEE;border-radius: 30rpx;padding: 0 20rpx;"
              type="number"
                  style="height: 100rpx;border: 1px solid #EEEEEE;border-radius: 30rpx;padding: 0 50rpx;"
              >
                <template #suffix>
                  <text
                      class="code"
                      style="color: red;"
                      style="color: #4766FE;"
                      :class="isCounting_A ? 'ks' : ''"
                      @click="getCode"
                  >{{ isCounting_A ? countText_A : "获取验证码" }}</text
                  >
                </template>
              </uv-input>
           <image src="/static/img/codeIcon.png" style="width: 44rpx;height: 44rpx;position: absolute;left: 10rpx;"></image>
            </uv-form-item>
            <uv-form-item >
              <view class="but" style="width: 100%;">
@@ -1103,7 +1367,19 @@
    </uv-popup>
    <uv-popup mode="center" round="20" ref="setUi" :closeOnClickOverlay="false" >
      <view style="padding: 40rpx;width: 690rpx;background: url('/static/img/smsBg.png') no-repeat top center; background-size: 100%;height: 650rpx;">
      <view style="padding: 40rpx;width: 690rpx;background: url('/static/img/smsBg.png') no-repeat top center; background-size: 100%;height: 650rpx;position: relative;">
      <image
         @click="$refs.setUi.close()"
         src="@/static/img/off.png"
         style="
      width: 50rpx;
      height: 50rpx;
      position: absolute;
      left: 320rpx;
      bottom: -70rpx;
      z-index: 6;
     "
      ></image>
        <view class="head">
          <view
              style="
@@ -1111,21 +1387,9 @@
          font-weight: bold;
          font-size: 36rpx;
          position: relative;
          height: 50rpx;
          height: 30rpx;
        "
          >
            <image
                @click="$refs.setUi.close()"
                src="@/static/img/off.png"
                style="
            width: 50rpx;
            height: 50rpx;
            position: absolute;
            right: 0;
            top: -2rpx;
          "
            ></image>
          </view>
        </view>
        <view  style="
@@ -1133,10 +1397,10 @@
          font-size: 36rpx;
          position: relative;
         margin-bottom: 12rpx;
         text-align: center;
         text-align: left;
        ">本人提交确认</view>
        <view style="font-size: 28rpx;color: #252938;text-align: center;">根据合规要求我们将进行本人提交意愿确认的短信校验,请注意查看短信验证码</view>
        <view style="font-size: 28rpx;color: #252938;text-align: left;">根据合规要求我们将进行本人提交意愿确认的短信校验,请注意查看短信验证码</view>
        <view class="content">
          <uv-form
@@ -1151,7 +1415,7 @@
                class="item"
                label=""
                prop="repayTermStr"
            style="position: relative;"
            >
              <uv-input
                  :adjustPosition="true"
@@ -1163,15 +1427,16 @@
                  border="none"
                  placeholder="请输入手机号"
                  style="height: 100rpx;border: 1px solid #EEEEEE;border-radius: 30rpx;padding: 0 20rpx;"
                  style="height: 100rpx;border: 1px solid #EEEEEE;border-radius: 30rpx;padding: 0 50rpx;"
              ></uv-input>
           <image src="/static/img/phoneIcon.png" style="width: 44rpx;height: 44rpx;position: absolute;left: 10rpx;"></image>
            </uv-form-item>
            <uv-form-item
                class="item"
                label=""
                prop="needVerify"
            style="position: relative;"
            >
              <uv-input
                  :adjustPosition="true"
@@ -1179,18 +1444,20 @@
                  v-model="verificationCodeS"
                  border="none"
                  placeholder="请输入验证码"
                  style="height: 100rpx;border: 1px solid #EEEEEE;border-radius: 30rpx;padding: 0 20rpx;"
              type="number"
                  style="height: 100rpx;border: 1px solid #EEEEEE;border-radius: 30rpx;padding: 0 50rpx;"
              >
                <template #suffix>
                  <text
                      class="code"
                      style="color: red;"
                      style="color: #4766FE;"
                      :class="isCounting_B ? 'ks' : ''"
                      @click="getCode_san"
                  >{{ isCounting_B ? countText_B : "获取验证码" }}</text
                  >
                </template>
              </uv-input>
           <image src="/static/img/codeIcon.png" style="width: 44rpx;height: 44rpx;position: absolute;left: 10rpx;"></image>
            </uv-form-item>
            <uv-form-item >
              <view class="but" style="width: 100%;">
@@ -1210,12 +1477,17 @@
    <uv-popup mode="bottom" round="20" ref="address" >
      <addAddress :addressDetail="addressDetail" @off="$refs.address.close()" @submit="e => addressDetail = e"></addAddress>
    </uv-popup>
   <provincesCity ref="provincesCity" @confirm="provincesCityChange" />
    <!-- <text-box v-if="showTextBox" ref="textBox" :getPlatformProtocolNewList="getPlatformProtocolNewList"></text-box> -->
    <text-box v-if="showTextBox" ref="textBox" :getPlatformProtocolNewList="getPlatformProtocolNewList"></text-box>
  </view>
</template>
<style scoped lang="scss">
::v-deep .uv-popup .uv-popup__content {
   overflow: visible;
}
.a3{
  color: #BDBDBE;
  font-size: 30rpx;
@@ -1229,12 +1501,21 @@
}
.form{
  background: #FFFFFF;
   .form-item-ct{
       margin: 0 40rpx;
       background-color: #ffffff;
       padding: 30rpx;
       border-radius: 50rpx;
   }
   .form-item-title{
        border-left: 8rpx solid #4766FE; /* 定义左边框 */
        padding-left: 20rpx;
   }
  .clo{
    //display: flex;
    //padding: 30rpx 0rpx;
    padding-bottom: 30rpx;
    margin: 0 40rpx;
    // margin: 0 40rpx;
    //border-bottom: 1rpx solid #E7E9ED;
    background: #FFFFFF;
    .label{
@@ -1255,11 +1536,12 @@
          color: #999999;
          font-size: 30rpx;
        }
        width: 670rpx;
        width: 596rpx;
        height: 100rpx;
        border: 1px solid #EEEEEE;
        border-radius: 20rpx;
        padding-left: 20rpx;
        // border: 1px solid #EEEEEE;
      background-color: #F7F7F7;
        border-radius: 30rpx;
        padding-left: 20rpx !important;
        font-weight: 400;
        font-size: 30rpx;
        color: #333333;
@@ -1272,7 +1554,7 @@
  font-weight: 400;
  font-size: 28rpx;
  color: #EE2626;
  color: #4766FE;
  padding: 16rpx 20rpx;
  //border: 1rpx solid #EE2626;
  //border-radius: 8rpx 8rpx 8rpx 8rpx;
@@ -1302,7 +1584,7 @@
  padding: 0 30rpx;
  margin-top: 40rpx;
  .sub_btn{
    background: #EE2626;
    background: #4766FE;
    border-radius: 50rpx 50rpx 50rpx 50rpx;
    padding: 10rpx;
@@ -1325,7 +1607,7 @@
  color: #BDBDBE;
}
.protocol-text {
  width: calc( 100% - 44rpx);
  // width: calc( 100% - 44rpx);
  font-size: 24rpx;
  color: #8B8D96;
  line-height: 28rpx;