From 6ee06fbc2bdc7edd7090e9d292950d25731b6600 Mon Sep 17 00:00:00 2001
From: ltx <1006158920@qq.com>
Date: Thu, 4 Jun 2026 09:47:41 +0800
Subject: [PATCH] =?UTF-8?q?update:=E6=B7=BB=E5=8A=A0=E8=BF=90=E5=8A=A8?=
=?UTF-8?q?=E5=91=98=E6=89=8B=E6=9C=BA=E5=8F=B7=E9=9D=9E=E5=BF=85=E5=A1=AB?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.env | 2 +-
src/views/team/athlete/index.vue | 48 +++++++++++++++++++++-----------
2 files changed, 33 insertions(+), 17 deletions(-)
diff --git a/.env b/.env
index 9456b8c..1c67321 100644
--- a/.env
+++ b/.env
@@ -8,4 +8,4 @@ VITE_OPEN = true
VITE_OPEN_CDN = false
# public path 配置线上环境路径(打包)、本地通过 http-server 访问时,请置空即可
-VITE_PUBLIC_PATH = 'https://yuedong-wechatapplet.oss-cn-shanghai.aliyuncs.com/static/event_web/202605081710/'
\ No newline at end of file
+VITE_PUBLIC_PATH = 'https://yuedong-wechatapplet.oss-cn-shanghai.aliyuncs.com/static/event_web/202606040917/'
\ No newline at end of file
diff --git a/src/views/team/athlete/index.vue b/src/views/team/athlete/index.vue
index c1422ca..a699223 100644
--- a/src/views/team/athlete/index.vue
+++ b/src/views/team/athlete/index.vue
@@ -165,7 +165,7 @@
:disabled="sending || !isPhoneValid">
{{ sending ? `${sendTimer}s` : '获取验证码' }}
- 手机号未变更
+ 手机号未变更
@@ -217,6 +217,9 @@ const initParam = ref({
})
const formRules = computed(() => {
+ // 编辑运动员且原来有手机号,则手机号必填;否则非必填
+ const isMobileRequired = !!(formData.value.id && originalMobile.value);
+
const baseRules = {
name: [
{ required: true, message: '请输入运动员姓名', trigger: 'blur' }
@@ -227,18 +230,30 @@ const formRules = computed(() => {
gender: [
{ required: true, message: '请选择性别', trigger: 'change' }
],
- mobile: [
- { required: true, message: '请输入联系电话', trigger: 'blur' },
- {
- validator: (rule, value, cb) => {
- const reg = /^1[3-9]\d{9}$/;
- if (!value) return cb(new Error('请输入联系电话'));
- if (!reg.test(value)) return cb(new Error('请输入正确的手机号'));
- cb();
- },
- trigger: 'blur'
- }
- ],
+ mobile: isMobileRequired
+ ? [
+ { required: true, message: '请输入联系电话', trigger: 'blur' },
+ {
+ validator: (rule, value, cb) => {
+ const reg = /^1[3-9]\d{9}$/;
+ if (!value) return cb(new Error('请输入联系电话'));
+ if (!reg.test(value)) return cb(new Error('请输入正确的手机号'));
+ cb();
+ },
+ trigger: 'blur'
+ }
+ ]
+ : [
+ {
+ validator: (rule, value, cb) => {
+ if (!value) return cb(); // 非必填,允许为空
+ const reg = /^1[3-9]\d{9}$/;
+ if (!reg.test(value)) return cb(new Error('请输入正确的手机号'));
+ cb();
+ },
+ trigger: 'blur'
+ }
+ ],
idCardImageUrl: [
{ required: true, message: '请上传身份证照片', trigger: 'change' }
],
@@ -246,8 +261,8 @@ const formRules = computed(() => {
{ required: true, message: '请选择出生日期', trigger: 'change' }
],
};
-
- // 只在需要验证码时添加验证码验证规则
+
+ // 填写了手机号且手机号发生变更(新增或修改)时,验证码必填
if (needVerificationCode.value) {
baseRules.verificationCode = [
{ required: true, message: '请输入验证码', trigger: 'blur' },
@@ -305,7 +320,8 @@ const isMobileChanged = computed(() => {
return formData.value.mobile !== originalMobile.value;
});
const needVerificationCode = computed(() => {
- return isMobileChanged.value;
+ // 填写了手机号 且 手机号发生了变更(新增或修改),才需要验证码
+ return !!(formData.value.mobile && isMobileChanged.value);
});
// 团队新增弹窗相关