Update index.vue

This commit is contained in:
huxuejian 2026-08-03 09:33:44 +08:00
parent 23494f477b
commit 410cc5e066

View File

@ -8,32 +8,18 @@
</div> </div>
<el-form :model="loginForm" :rules="loginRules" ref="loginFormRef" @keyup.enter="handleLogin"> <el-form :model="loginForm" :rules="loginRules" ref="loginFormRef" @keyup.enter="handleLogin">
<el-form-item prop="username"> <el-form-item prop="username">
<el-select v-model="loginForm.username" placeholder="请选择账号" class="w-full !rounded-lg"> <!-- <el-select v-model="loginForm.username" placeholder="请选择账号" class="w-full !rounded-lg">
<el-option label="海宁管理员" value="hnAdmin" /> <el-option label="海宁管理员" value="hnAdmin" />
<el-option label="海宁医生账号" value="hnDoctor" /> <el-option label="海宁医生账号" value="hnDoctor" />
<el-option label="海宁药师账号" value="hnYaoshi" /> <el-option label="海宁药师账号" value="hnYaoshi" />
<el-option label="海宁门店账号" value="hnStore" /> <el-option label="海宁门店账号" value="hnStore" />
</el-select> </el-select> -->
<!-- <el-input v-model="loginForm.username" placeholder="请输入用户账号" class="!rounded-lg" :prefix-icon="User" /> --> <el-input v-model="loginForm.username" placeholder="请输入用户账号" class="!rounded-lg" :prefix-icon="User" />
</el-form-item> </el-form-item>
<el-form-item prop="password"> <el-form-item prop="password">
<el-input v-model="loginForm.password" type="password" placeholder="请输入密码" class="!rounded-lg" <el-input v-model="loginForm.password" type="password" placeholder="请输入密码" class="!rounded-lg"
:prefix-icon="Lock" show-password /> :prefix-icon="Lock" show-password />
</el-form-item> </el-form-item>
<!-- 短信验证码 -->
<!-- <el-form-item prop="smsCode">
<div class="flex w-full gap-2 items-center">
<el-input v-model="loginForm.smsCode" placeholder="请输入短信验证码" class="!rounded-lg flex-1"
:prefix-icon="Lock" />
<el-button class="!rounded-lg whitespace-nowrap" :disabled="countdown>0 || sendingCode" @click="onGetCode">
<template v-if="countdown>0">剩余 {{ countdown }}S</template>
<template v-else>获取验证码</template>
</el-button>
</div>
<div class="text-xs text-gray-500 mt-1" v-if="maskMobile">已向{{ maskMobile }}发送验证码</div>
</el-form-item> -->
<el-button type="primary" class="w-full !rounded-lg h-12 text-base" @click="handleLogin" <el-button type="primary" class="w-full !rounded-lg h-12 text-base" @click="handleLogin"
:loading="loading">立即登录</el-button> :loading="loading">立即登录</el-button>
@ -44,67 +30,7 @@
</div> </div>
<ModifyPasswordDialog :showModifyDialog="showModifyDialog" @close="closeModifyDialog" <ModifyPasswordDialog :showModifyDialog="showModifyDialog" @close="closeModifyDialog"
:username="loginForm.username" /> :username="loginForm.username" />
<!--
<CaptchaVerifyDialog :visible="showCaptcha" @close="showCaptcha=false" @passed="afterCaptchaPassed" />
<el-dialog v-model="showSecondVerify" width="420px" align-center :close-on-click-modal="false"
:close-on-press-escape="false" @closed="handleSecondVerifyClosed">
<template #header>
<span>{{ secondVerifyMode === 'finger' ? '指纹验证' : '短信验证' }}</span>
</template>
<div v-if="secondVerifyMode === 'finger'"
class="relative flex flex-col items-center justify-center gap-6 py-12 text-center min-h-[300px]">
<template v-if="fingerVerifyStatus === 'failed'">
<div class="text-xl text-red-700">指纹验证失败</div>
<div class="text-xl text-red-700">请点击重试再次按压指纹校验</div>
<div class="mt-8">
<el-button class="!w-48 !h-12 !text-lg !rounded-none !bg-blue-500 !text-white hover:!bg-gray-100"
@click="onConfirmSecondVerify">
重试
</el-button>
</div>
</template>
<template v-else>
<div class="text-gray-600">{{ fingerVerifyStatus === 'verifying' ? '请按压指纹进行校验...' : '请点击进行指纹验证' }}</div>
<div class="text-5xl mb-4">
<img v-if="fingerVerifyStatus !== 'verifying'" src="@/assets/finger.png" alt="指纹验证" width="100"
height="100" />
<el-icon v-else class="is-loading" style="font-size: 48px;">
<Loading />
</el-icon>
</div>
<div class="text-sm" :class="fingerVerifyStatus === 'failed' ? 'text-red-500' : 'text-gray-500'"
v-if="fingerVerifyMessage">{{ fingerVerifyMessage }}</div>
<div v-if="fingerVerifyStatus !== 'verifying'" class="flex gap-2">
<el-button class="!rounded-lg whitespace-nowrap" :loading="fingerVerifyStatus === 'verifying'"
@click="onConfirmSecondVerify">
开始验证
</el-button>
</div>
</template>
<div class="absolute left-0 bottom-4 w-full flex justify-start px-6 opacity-0 transition-opacity">
<el-button link size="small" @click="switchToSmsVerify">使用短信验证</el-button>
</div>
</div>
<div v-else class="py-4">
<div class="flex w-full gap-2 items-center">
<el-input v-model="loginForm.smsCode" placeholder="请输入短信验证码" />
<el-button class="!rounded-lg whitespace-nowrap" :disabled="countdown>0 || sendingCode" @click="onGetCode">
<template v-if="countdown>0">剩余 {{ countdown }}S</template>
<template v-else>获取验证码</template>
</el-button>
</div>
<div class="text-xs py-1 px-1 text-gray-500" v-if="maskMobile">已向{{ maskMobile }}发送验证码</div>
<div class="flex justify-center gap-2 mt-5">
<el-button type="primary" @click="onConfirmSecondVerify">确认</el-button>
</div>
</div>
</el-dialog>
-->
</div> </div>
</template> </template>
<script setup> <script setup>
@ -132,13 +58,12 @@ const router = useRouter();
const loginFormRef = ref(); const loginFormRef = ref();
const loading = ref(false); const loading = ref(false);
const loginForm = reactive({ const loginForm = reactive({
username: "hnAdmin", username: "",
password: "zytzyy6789", password: "",
}); });
const loginRules = { const loginRules = {
username: [{ required: true, message: "请输入账号", trigger: "blur" }], username: [{ required: true, message: "请输入账号", trigger: "blur" }],
password: [{ required: true, message: "请输入密码", trigger: "blur" }], password: [{ required: true, message: "请输入密码", trigger: "blur" }]
smsCode: [{ required: true, message: "请输入短信验证码", trigger: "blur" }],
}; };
// //
const sendingCode = ref(false); const sendingCode = ref(false);