Merge branch 'al'

# Conflicts:
#	src/views/login/components/Login.vue
pull/1/head
刘释隆 1 year ago
commit dc2b078eda

@ -1,5 +1,5 @@
<script lang="ts" setup> <script lang="ts" setup>
import { computed, reactive, ref } from "vue"; import { computed, onMounted, reactive, ref } from "vue";
import { useRoute, useRouter } from "vue-router"; import { useRoute, useRouter } from "vue-router";
import { useMessage } from "naive-ui"; import { useMessage } from "naive-ui";
@ -26,7 +26,7 @@ const formRef = ref();
const formRefSms = ref(); const formRefSms = ref();
const message = useMessage(); const message = useMessage();
const loading = ref(false); const loading = ref(false);
const autoLogin = ref(true); const autoLogin = ref(false);
const LOGIN_NAME = PageEnum.BASE_LOGIN_NAME; const LOGIN_NAME = PageEnum.BASE_LOGIN_NAME;
const userStore = useUserStore(); const userStore = useUserStore();
const router = useRouter(); const router = useRouter();
@ -34,9 +34,9 @@ const route = useRoute();
const show = ref(false); const show = ref(false);
const flag = ref(true); const flag = ref(true);
const loginSuccess = ref(true); const loginSuccess = ref(true);
const loginRejectMessge = ref(''); const loginRejectMessge = ref("");
const formInline: FormState = reactive({ let formInline: FormState = reactive({
// enterprisecode: "", // enterprisecode: "",
// username: "yanshi01", // username: "yanshi01",
// password: "123456", // password: "123456",
@ -45,7 +45,7 @@ const formInline: FormState = reactive({
password: "" password: ""
}); });
const formSms: FormSms = reactive({ let formSms: FormSms = reactive({
agentcode: "", agentcode: "",
phone: "", phone: "",
phonecode: "", phonecode: "",
@ -53,7 +53,9 @@ const formSms: FormSms = reactive({
const tab = ref(0); const tab = ref(0);
const countTime = ref("获取验证码"); const countTime = ref("获取验证码");
const rules = { const rules = {
enterprisecode: [{ required: true, message: "请输入企业编码", trigger: "blur" },{ enterprisecode: [
{ required: true, message: "请输入企业编码", trigger: "blur" },
{
trigger: ["blur"], trigger: ["blur"],
level: "error", level: "error",
validator(_rule, value) { validator(_rule, value) {
@ -63,8 +65,22 @@ const rules = {
return new Error(loginRejectMessge.value); return new Error(loginRejectMessge.value);
} }
}, },
},], },
agentcode: { required: true, message: "请输入企业编码", trigger: "blur" }, ],
agentcode: [
{ required: true, message: "请输入企业编码", trigger: "blur" },
{
trigger: ["blur"],
level: "error",
validator(_rule, value) {
if (loginSuccess.value) {
return true;
} else {
return new Error(loginRejectMessge.value);
}
},
},
],
phone: { required: true, message: "请输入手机号", trigger: "blur" }, phone: { required: true, message: "请输入手机号", trigger: "blur" },
phonecode: [ phonecode: [
{ required: true, message: "请输入验证码", trigger: "blur" }, { required: true, message: "请输入验证码", trigger: "blur" },
@ -83,7 +99,20 @@ const rules = {
}, },
}, },
], ],
username: { required: true, message: "请输入用户名", trigger: "blur" }, username: [
{ required: true, message: "请输入用户名", trigger: "blur" },
{
trigger: ["blur"],
level: "error",
validator(_rule, value) {
if (loginSuccess.value) {
return true;
} else {
return new Error(loginRejectMessge.value);
}
},
},
],
password: { required: true, message: "请输入密码", trigger: "blur" }, password: { required: true, message: "请输入密码", trigger: "blur" },
captcha: { required: true, message: "请输入验证码", trigger: "blur" }, captcha: { required: true, message: "请输入验证码", trigger: "blur" },
}; };
@ -106,6 +135,12 @@ function handleSubmit(e) {
const { code, message: msg } = await userStore.login(params); const { code, message: msg } = await userStore.login(params);
loginRejectMessge.value = msg; loginRejectMessge.value = msg;
if (code === ResultEnum.SUCCESS) { if (code === ResultEnum.SUCCESS) {
//
if (autoLogin.value) {
localStorage.setItem("LOGIN_FORM_PASS", JSON.stringify(formInline));
} else {
localStorage.removeItem("LOGIN_FORM_PASS");
}
loginSuccess.value = true; loginSuccess.value = true;
await userStore.getInformation(); await userStore.getInformation();
message.destroyAll(); message.destroyAll();
@ -127,6 +162,25 @@ function handleSubmit(e) {
}); });
} }
onMounted(() => {
let data:any = localStorage.getItem("LOGIN_FORM_SMS");
if (data) {
data = JSON.parse(data) as any
formSms.agentcode = data.agentcode;
formSms.phone = data.phone;
formSms.phonecode = "";
autoLogin.value = true;
}
data = localStorage.getItem("LOGIN_FORM_PASS");
if (data) {
data = JSON.parse(data) as any;
formInline.username = data.username;
formInline.password = data.password;
formInline.enterprisecode = data.enterprisecode;
autoLogin.value = true;
}
});
function handleSmsSubmit(e) { function handleSmsSubmit(e) {
e.preventDefault(); e.preventDefault();
formRefSms.value.validate(async (errors) => { formRefSms.value.validate(async (errors) => {
@ -142,11 +196,17 @@ function handleSmsSubmit(e) {
phonecode, phonecode,
}); });
const { code, message: msg } = res; const { code, message: msg } = res;
loginRejectMessge.value = msg;
if (code === ResultEnum.SUCCESS) { if (code === ResultEnum.SUCCESS) {
//
if (autoLogin.value) {
localStorage.setItem("LOGIN_FORM_SMS", JSON.stringify(formSms));
} else {
localStorage.removeItem("LOGIN_FORM_SMS");
}
loginSuccess.value = true; loginSuccess.value = true;
// const { code, message: msg } = await userStore.login(params) // const { code, message: msg } = await userStore.login(params)
await userStore.getInformation(); await userStore.getInformation();
message.destroyAll(); message.destroyAll();
const toPath = decodeURIComponent((route.query?.redirect || "/") as string); const toPath = decodeURIComponent((route.query?.redirect || "/") as string);
message.success("登录成功,即将进入系统"); message.success("登录成功,即将进入系统");
@ -337,6 +397,7 @@ function forget() {
v-model:value="formSms.phone" v-model:value="formSms.phone"
class="item-input" class="item-input"
placeholder="请输入手机号" placeholder="请输入手机号"
maxlength="11"
> >
<template #prefix> <template #prefix>
<img <img

@ -17,7 +17,7 @@ interface FormState {
const formRef = ref() const formRef = ref()
const message = useMessage() const message = useMessage()
const loading = ref(false) const loading = ref(false)
const autoLogin = ref(true) const autoLogin = ref(false)
const LOGIN_NAME = PageEnum.BASE_LOGIN_NAME const LOGIN_NAME = PageEnum.BASE_LOGIN_NAME
const userStore = useUserStore() const userStore = useUserStore()
const router = useRouter() const router = useRouter()
@ -127,7 +127,7 @@ function handleSubmit(e) {
</n-button> </n-button>
</n-form-item> </n-form-item>
<n-form-item class="default-color"> <n-form-item class="default-color">
<div class="w-full flex justify-between"> <div class="flex justify-between w-full">
<div class="flex-initial"> <div class="flex-initial">
<n-checkbox v-model:checked="autoLogin"> <n-checkbox v-model:checked="autoLogin">
记住账号 记住账号
@ -162,7 +162,7 @@ function handleSubmit(e) {
</n-button> </n-button>
</n-form-item> </n-form-item>
<n-form-item class="default-color"> <n-form-item class="default-color">
<div class="w-full flex justify-between"> <div class="flex justify-between w-full">
<div class="flex-initial"> <div class="flex-initial">
<n-checkbox v-model:checked="autoLogin"> <n-checkbox v-model:checked="autoLogin">
记住账号 记住账号

Loading…
Cancel
Save