From 7d61fe9d04916aca0e50f086db371a6342951462 Mon Sep 17 00:00:00 2001 From: zhoutianchi <1305666981@qq.com> Date: Fri, 26 Dec 2025 14:49:53 +0800 Subject: [PATCH] 1 --- src/views/admin/system/user/form.vue | 107 +++++++++++++++++---------- 1 file changed, 66 insertions(+), 41 deletions(-) diff --git a/src/views/admin/system/user/form.vue b/src/views/admin/system/user/form.vue index f932632..ede49ba 100644 --- a/src/views/admin/system/user/form.vue +++ b/src/views/admin/system/user/form.vue @@ -3,26 +3,41 @@ - - - - - - - - - - + + + + + + + + + + - - - - - + + + + + @@ -30,13 +45,13 @@ - - - - - - - + + + + + + + - - - - - + + + + + @@ -126,6 +141,12 @@ const dataForm = reactive({ role: [] as string[], }); +// 表单状态,用于防止浏览器自动填充 +const formState = reactive({ + usernameReadonly: true, // 用户名输入框只读状态 + passwordReadonly: true, // 密码输入框只读状态 +}); + const dataRules = ref({ // 用户名校验,不能为空 、长度 5-20、不能和已有数据重复 username: [ @@ -157,20 +178,20 @@ const dataRules = ref({ role: [{ required: true, message: t('sysuser.roleRequired'), trigger: 'blur' }], // post: [{ required: true, message: t('sysuser.postRequired'), trigger: 'blur' }], // 手机号校验,不能为空、新增的时不能重复校验 - phone: [ - { required: true, message: t('sysuser.phoneRequired'), trigger: 'blur' }, - { validator: rule.validatePhone, trigger: 'blur' }, - { - validator: (rule: any, value: any, callback: any) => { - validatePhone(rule, value, callback, dataForm.userId !== ''); - }, - trigger: 'blur', - }, - ], - email: [ - { type: 'email', message: t('sysuser.emailFormat'), trigger: ['blur', 'change'] }, - { validator: rule.overLength, trigger: 'blur' }, - ], + // phone: [ + // { required: true, message: t('sysuser.phoneRequired'), trigger: 'blur' }, + // { validator: rule.validatePhone, trigger: 'blur' }, + // { + // validator: (rule: any, value: any, callback: any) => { + // validatePhone(rule, value, callback, dataForm.userId !== ''); + // }, + // trigger: 'blur', + // }, + // ], + // email: [ + // { type: 'email', message: t('sysuser.emailFormat'), trigger: ['blur', 'change'] }, + // { validator: rule.overLength, trigger: 'blur' }, + // ], lockFlag: [{ required: true, message: t('sysuser.statusRequired'), trigger: 'blur' }], }); @@ -179,6 +200,10 @@ const openDialog = async (id: string) => { visible.value = true; dataForm.userId = ''; + // 重置表单只读状态,防止浏览器自动填充 + formState.usernameReadonly = true; + formState.passwordReadonly = true; + // 重置表单数据 nextTick(() => { dataFormRef.value?.resetFields();