diff --git a/src/views/login/components/Forget.vue b/src/views/login/components/Forget.vue index 3137f70..5588ac0 100644 --- a/src/views/login/components/Forget.vue +++ b/src/views/login/components/Forget.vue @@ -50,14 +50,86 @@ const formSure: FormSure = reactive({ loginname: "13311111111", }); const tab = ref(0); +const loginSuccess = ref(true); +const loginRejectMessge = ref(""); const countTime = ref("获取验证码"); const rules = { - enterprisecode: { required: true, message: "请输入企业编码", trigger: "blur" }, - agentcode: { required: true, message: "请输入企业编码", trigger: "blur" }, - loginname: { required: true, message: "请输入用户名", trigger: "blur" }, - phone: { required: true, message: "请输入手机号", trigger: "blur" }, + enterprisecode: [ + { required: true, message: "请输入企业编码", trigger: "blur" }, + { + trigger: ["blur", "input", "change"], + level: "error", + validator(_rule, value) { + if (loginSuccess.value || !value) { + return true; + } + if (loginRejectMessge.value.indexOf("企业") > -1) { + return new Error(loginRejectMessge.value); + } + }, + }, + ], + agentcode: [ + { required: true, message: "请输入企业编码", trigger: "blur" }, + { + trigger: ["blur", "input", "change"], + level: "error", + validator(_rule, value) { + if (loginSuccess.value || !value) { + return true; + } + if (loginRejectMessge.value.indexOf("企业") > -1) { + return new Error(loginRejectMessge.value); + } + }, + }, + ], + loginname: [ + { required: true, message: "请输入用户名", trigger: "blur" }, + { + trigger: ["blur", "input", "change"], + level: "error", + validator(_rule, value) { + if (loginSuccess.value || !value) { + return true; + } + if (loginRejectMessge.value.indexOf("用户名") > -1) { + return new Error(loginRejectMessge.value); + } + }, + }, + ], + phone: [ + { required: true, message: "请输入手机号", trigger: "blur" }, + { + trigger: ["blur", "input", "change"], + level: "error", + validator(_rule, value) { + if (loginSuccess.value || !value) { + return true; + } + if (loginRejectMessge.value.indexOf("手机号") > -1) { + return new Error(loginRejectMessge.value); + } + }, + }, + ], password: { required: true, message: "请输入密码", trigger: "blur" }, - phonecode: { required: true, message: "请输入验证码", trigger: "blur" }, + phonecode: [ + { required: true, message: "请输入验证码", trigger: "blur" }, + { + trigger: ["blur", "input", "change"], + level: "error", + validator(_rule, value) { + if (loginSuccess.value || !value) { + return true; + } + if (loginRejectMessge.value.indexOf("验证码") > -1) { + return new Error(loginRejectMessge.value); + } + }, + }, + ], newPassword: { required: true, message: "请输入新密码", trigger: "blur" }, rePasswrod: [ { @@ -74,35 +146,46 @@ const rules = { }; function validatePasswordSame(rule: any, value: string): boolean { - return value === formSure.newPassword; + if (Boolean(formSure.rePasswrod)) { + if (value == formSure.newPassword) { + return true; + } else { + return false; + } + } else { + return true; + } } function handleSubmit(e) { e.preventDefault(); + loginSuccess.value = true; formRef.value.validate(async (errors) => { if (!errors) { const { loginname, phone, phonecode, agentcode } = formForget; loading.value = true; - const params = { loginname, phone, phonecode, agentcode, }; - try { const res = await forgetPassword(params); if (res.code === "OK") { + loginSuccess.value = true; formSure.loginname = res.data?.loginname; tab.value = 1; } else { + loginSuccess.value = false; message.error(res.message); + loginRejectMessge.value = res.message; + formRef.value.validate(); } } finally { loading.value = false; } - } + } }); }