|
@@ -27,37 +27,37 @@
|
|
|
<!-- 用户名 -->
|
|
|
<el-form-item prop="userName">
|
|
|
<div class="flex-y-center w-full">
|
|
|
- <svg-icon icon-class="user" class="mx-2" />
|
|
|
+ <svg-icon class="mx-2" icon-class="user" />
|
|
|
<el-input
|
|
|
ref="username"
|
|
|
v-model="loginData.userName"
|
|
|
:placeholder="$t('login.username')"
|
|
|
+ class="h-[48px]"
|
|
|
name="userName"
|
|
|
size="large"
|
|
|
- class="h-[48px]"
|
|
|
/>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
|
|
|
<!-- 密码 -->
|
|
|
<el-tooltip
|
|
|
- :visible="isCapslock"
|
|
|
:content="$t('login.capsLock')"
|
|
|
+ :visible="isCapslock"
|
|
|
placement="right"
|
|
|
>
|
|
|
<el-form-item prop="password">
|
|
|
<div class="flex-y-center w-full">
|
|
|
- <svg-icon icon-class="lock" class="mx-2" />
|
|
|
+ <svg-icon class="mx-2" icon-class="lock" />
|
|
|
<el-input
|
|
|
v-model="loginData.password"
|
|
|
:placeholder="$t('login.password')"
|
|
|
- type="password"
|
|
|
+ class="h-[48px] pr-2"
|
|
|
name="password"
|
|
|
+ show-password
|
|
|
+ size="large"
|
|
|
+ type="password"
|
|
|
@keyup="checkCapslock"
|
|
|
@keyup.enter="handleLogin"
|
|
|
- size="large"
|
|
|
- class="h-[48px] pr-2"
|
|
|
- show-password
|
|
|
/>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
@@ -66,12 +66,12 @@
|
|
|
<!-- 组织 -->
|
|
|
<el-form-item prop="orgId">
|
|
|
<div class="flex-y-center w-full">
|
|
|
- <svg-icon icon-class="captcha" class="mx-2" />
|
|
|
+ <svg-icon class="mx-2" icon-class="captcha" />
|
|
|
<el-select
|
|
|
v-model="loginData.orgId"
|
|
|
+ class="no-border"
|
|
|
placeholder="请选择组织"
|
|
|
size="large"
|
|
|
- class="no-border"
|
|
|
@keyup.enter="handleLogin"
|
|
|
>
|
|
|
<el-option
|
|
@@ -87,9 +87,9 @@
|
|
|
<!-- 登录按钮 -->
|
|
|
<el-button
|
|
|
:loading="loading"
|
|
|
- type="primary"
|
|
|
- size="large"
|
|
|
class="w-full"
|
|
|
+ size="large"
|
|
|
+ type="primary"
|
|
|
@click.prevent="handleLogin"
|
|
|
>{{ $t("login.login") }}
|
|
|
</el-button>
|
|
@@ -103,13 +103,13 @@
|
|
|
</el-card>
|
|
|
|
|
|
<!-- ICP备案 -->
|
|
|
- <div class="absolute bottom-1 text-[10px] text-center" v-show="icpVisible">
|
|
|
+ <div v-show="icpVisible" class="absolute bottom-1 text-[10px] text-center">
|
|
|
<p>Copyright © 2022-2025 jgai.com All Rights Reserved.</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
-<script setup lang="ts">
|
|
|
+<script lang="ts" setup>
|
|
|
import { useSettingsStore, useUserStore, useDictionaryStore } from "@/store";
|
|
|
import { getCaptchaApi, getOrgListApi, getUserDicts } from "@/api/auth";
|
|
|
import { LoginData } from "@/api/auth/types";
|
|
@@ -183,6 +183,7 @@ function getCaptcha() {
|
|
|
captchaBase64.value = data.captchaBase64;
|
|
|
});
|
|
|
}
|
|
|
+
|
|
|
function getOrgList() {
|
|
|
getOrgListApi().then((data: any) => {
|
|
|
orgList.value = data.data;
|
|
@@ -196,6 +197,7 @@ function getOrgList() {
|
|
|
* 登录
|
|
|
*/
|
|
|
const route = useRoute();
|
|
|
+
|
|
|
function handleLogin() {
|
|
|
loginFormRef.value.validate((valid: boolean) => {
|
|
|
if (valid) {
|
|
@@ -275,7 +277,7 @@ html.dark .login-container {
|
|
|
|
|
|
.login-container {
|
|
|
overflow-y: auto;
|
|
|
- background: url("@/assets/images/login-bg.jpg") no-repeat center right;
|
|
|
+ background: url("@/assets/images/login-bg.png") no-repeat center right;
|
|
|
|
|
|
@apply wh-full flex-center;
|
|
|
|