|
|
@@ -2,10 +2,6 @@
|
|
|
<div class="login-container">
|
|
|
<el-card class="login-box">
|
|
|
<h2 class="login-title">通用型流程审批系统</h2>
|
|
|
- <el-radio-group v-model="loginType" class="login-type-switch">
|
|
|
- <el-radio-button label="SYSTEM">系统用户登录</el-radio-button>
|
|
|
- <el-radio-button label="ROLE">角色用户登录</el-radio-button>
|
|
|
- </el-radio-group>
|
|
|
<el-form
|
|
|
ref="loginFormRef"
|
|
|
:model="loginForm"
|
|
|
@@ -15,7 +11,7 @@
|
|
|
<el-form-item prop="username">
|
|
|
<el-input
|
|
|
v-model="loginForm.username"
|
|
|
- :placeholder="loginType === 'ROLE' ? '角色账号 / 手机号' : '用户名 / 手机号'"
|
|
|
+ placeholder="用户名 / 手机号"
|
|
|
:prefix-icon="User"
|
|
|
size="large"
|
|
|
/>
|
|
|
@@ -50,7 +46,7 @@
|
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
-import { ref, reactive, onMounted, watch } from 'vue'
|
|
|
+import { ref, reactive, onMounted } from 'vue'
|
|
|
import { useRouter, useRoute } from 'vue-router'
|
|
|
import { User, Lock } from '@element-plus/icons-vue'
|
|
|
import { ElMessage } from 'element-plus'
|
|
|
@@ -63,7 +59,6 @@ const userStore = useUserStore()
|
|
|
|
|
|
const loginFormRef = ref<FormInstance>()
|
|
|
const loading = ref(false)
|
|
|
-const loginType = ref<'SYSTEM' | 'ROLE'>('SYSTEM')
|
|
|
|
|
|
const loginForm = reactive({
|
|
|
username: '',
|
|
|
@@ -77,27 +72,20 @@ const loginRules: FormRules = {
|
|
|
password: [{ required: true, message: '请输入密码', trigger: 'blur' }]
|
|
|
}
|
|
|
|
|
|
-watch(loginType, (newType) => {
|
|
|
- loginForm.username = ''
|
|
|
- loginForm.password = ''
|
|
|
-})
|
|
|
-
|
|
|
async function handleLogin() {
|
|
|
const valid = await loginFormRef.value?.validate().catch(() => false)
|
|
|
if (!valid) return
|
|
|
|
|
|
loading.value = true
|
|
|
try {
|
|
|
- await userStore.loginAction({ ...loginForm, loginType: loginType.value })
|
|
|
+ await userStore.loginAction({ ...loginForm })
|
|
|
await userStore.fetchUserInfo()
|
|
|
if (remember.value) {
|
|
|
localStorage.setItem('login_username', loginForm.username)
|
|
|
localStorage.setItem('login_remember', 'true')
|
|
|
- localStorage.setItem('login_type', loginType.value)
|
|
|
} else {
|
|
|
localStorage.removeItem('login_username')
|
|
|
localStorage.removeItem('login_remember')
|
|
|
- localStorage.removeItem('login_type')
|
|
|
}
|
|
|
ElMessage.success('登录成功')
|
|
|
const redirect = route.query.redirect as string
|
|
|
@@ -112,13 +100,9 @@ async function handleLogin() {
|
|
|
onMounted(() => {
|
|
|
const savedUsername = localStorage.getItem('login_username')
|
|
|
const savedRemember = localStorage.getItem('login_remember')
|
|
|
- const savedType = localStorage.getItem('login_type')
|
|
|
if (savedRemember === 'true' && savedUsername) {
|
|
|
loginForm.username = savedUsername
|
|
|
remember.value = true
|
|
|
- if (savedType === 'ROLE' || savedType === 'SYSTEM') {
|
|
|
- loginType.value = savedType as 'SYSTEM' | 'ROLE'
|
|
|
- }
|
|
|
}
|
|
|
})
|
|
|
</script>
|