From ac16fd532927e33426dfdebed528403f027cc54b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Tue, 10 Feb 2026 16:15:28 +0800 Subject: [PATCH] =?UTF-8?q?fix(shop):=20=E4=BF=AE=E5=A4=8D=E5=BA=97?= =?UTF-8?q?=E9=93=BA=E9=AA=91=E6=89=8B=E7=BC=96=E8=BE=91=E8=A1=A8=E5=8D=95?= =?UTF-8?q?=E9=AA=8C=E8=AF=81=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 为用户选择字段添加必填验证规则 - 在用户选择变化时触发表单验证 - 在门店选择变化时触发表单验证 - 注释开发环境API地址配置避免冲突 --- .env.development | 2 +- .../components/shopStoreRiderEdit.vue | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/.env.development b/.env.development index fbcc74b..b8ccd8b 100644 --- a/.env.development +++ b/.env.development @@ -1,5 +1,5 @@ VITE_APP_NAME=后台管理(开发环境) -VITE_API_URL=http://127.0.0.1:9200/api +#VITE_API_URL=http://127.0.0.1:9200/api #VITE_SERVER_API_URL=http://127.0.0.1:8000/api diff --git a/src/views/shop/shopStoreRider/components/shopStoreRiderEdit.vue b/src/views/shop/shopStoreRider/components/shopStoreRiderEdit.vue index 600b1e8..ea55102 100644 --- a/src/views/shop/shopStoreRider/components/shopStoreRiderEdit.vue +++ b/src/views/shop/shopStoreRider/components/shopStoreRiderEdit.vue @@ -252,6 +252,17 @@ // 表单验证规则 const rules = reactive({ + userId: [ + { + validator: (_rule: unknown, value: number | undefined) => { + if (!value) { + return Promise.reject(new Error('请选择用户')); + } + return Promise.resolve(); + }, + trigger: 'change' + } + ], storeId: [ { validator: (_rule: unknown, value: number | undefined) => { @@ -319,6 +330,7 @@ if (!user) { selectedUserText.value = ''; form.userId = undefined; + formRef.value?.validateFields(['userId']).catch(() => {}); return; } form.userId = user.userId; @@ -330,6 +342,7 @@ const name = user.realName ?? user.nickname ?? ''; const phone = user.phone ?? user.mobile ?? ''; selectedUserText.value = phone ? `${name}(${phone})` : name; + formRef.value?.validateFields(['userId']).catch(() => {}); }; const onChooseCommunity = ( @@ -348,10 +361,12 @@ if (!store) { selectedStoreText.value = ''; form.storeId = undefined; + formRef.value?.validateFields(['storeId']).catch(() => {}); return; } form.storeId = store.id; selectedStoreText.value = store.name ?? String(store.id ?? ''); + formRef.value?.validateFields(['storeId']).catch(() => {}); }; const { resetFields } = useForm(form, rules);