fix: 样式及类型问题

This commit is contained in:
xingyu4j 2025-07-14 14:39:17 +08:00
parent 6e9733dd55
commit 288a134f87
7 changed files with 70 additions and 70 deletions

View File

@ -9,14 +9,14 @@
label-width="120px" label-width="120px"
size="large" size="large"
> >
<el-row style="margin-right: -10px; margin-left: -10px"> <el-row class="mx-[-10px]">
<!-- 租户名 --> <!-- 租户名 -->
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" class="px-10px">
<el-form-item> <el-form-item>
<LoginFormTitle style="width: 100%" /> <LoginFormTitle class="w-full" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" class="px-10px">
<el-form-item v-if="resetPasswordData.tenantEnable === 'true'" prop="tenantName"> <el-form-item v-if="resetPasswordData.tenantEnable === 'true'" prop="tenantName">
<el-input <el-input
v-model="resetPasswordData.tenantName" v-model="resetPasswordData.tenantName"
@ -28,7 +28,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- 手机号 --> <!-- 手机号 -->
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" class="px-10px">
<el-form-item prop="mobile"> <el-form-item prop="mobile">
<el-input <el-input
v-model="resetPasswordData.mobile" v-model="resetPasswordData.mobile"
@ -45,7 +45,7 @@
@success="getSmsCode" @success="getSmsCode"
/> />
<!-- 验证码 --> <!-- 验证码 -->
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" class="px-10px">
<el-form-item prop="code"> <el-form-item prop="code">
<el-row :gutter="5" justify="space-between" style="width: 100%"> <el-row :gutter="5" justify="space-between" style="width: 100%">
<el-col :span="24"> <el-col :span="24">
@ -73,44 +73,44 @@
</el-row> </el-row>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" class="px-10px">
<el-form-item prop="password"> <el-form-item prop="password">
<InputPassword <InputPassword
v-model="resetPasswordData.password" v-model="resetPasswordData.password"
:placeholder="t('login.passwordPlaceholder')" :placeholder="t('login.passwordPlaceholder')"
style="width: 100%" class="w-full"
strength="true" :strength="true"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" class="px-10px">
<el-form-item prop="check_password"> <el-form-item prop="check_password">
<InputPassword <InputPassword
v-model="resetPasswordData.check_password" v-model="resetPasswordData.check_password"
:placeholder="t('login.checkPassword')" :placeholder="t('login.checkPassword')"
style="width: 100%" class="w-full"
strength="true" :strength="true"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- 登录按钮 / 返回按钮 --> <!-- 登录按钮 / 返回按钮 -->
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" class="px-10px">
<el-form-item> <el-form-item>
<XButton <XButton
:loading="loginLoading" :loading="loginLoading"
:title="t('login.resetPassword')" :title="t('login.resetPassword')"
class="w-[100%]" class="w-full"
type="primary" type="primary"
@click="resetPassword()" @click="resetPassword()"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" class="px-10px">
<el-form-item> <el-form-item>
<XButton <XButton
:loading="loginLoading" :loading="loginLoading"
:title="t('login.backLogin')" :title="t('login.backLogin')"
class="w-[100%]" class="w-full"
@click="handleBackLogin()" @click="handleBackLogin()"
/> />
</el-form-item> </el-form-item>
@ -134,7 +134,7 @@ const verify = ref()
const { t } = useI18n() const { t } = useI18n()
const message = useMessage() const message = useMessage()
const { currentRoute, push } = useRouter() const { currentRoute } = useRouter()
const formSmsResetPassword = ref() const formSmsResetPassword = ref()
const loginLoading = ref(false) const loginLoading = ref(false)
const iconHouse = useIcon({ icon: 'ep:house' }) const iconHouse = useIcon({ icon: 'ep:house' })
@ -145,7 +145,7 @@ const { handleBackLogin, getLoginState, setLoginState } = useLoginState()
const getShow = computed(() => unref(getLoginState) === LoginStateEnum.RESET_PASSWORD) const getShow = computed(() => unref(getLoginState) === LoginStateEnum.RESET_PASSWORD)
const captchaType = ref('blockPuzzle') // blockPuzzle clickWord const captchaType = ref('blockPuzzle') // blockPuzzle clickWord
const validatePass2 = (rule, value, callback) => { const validatePass2 = (_rule, value, callback) => {
if (value === '') { if (value === '') {
callback(new Error('请再次输入密码')) callback(new Error('请再次输入密码'))
} else if (value !== resetPasswordData.password) { } else if (value !== resetPasswordData.password) {

View File

@ -9,13 +9,13 @@
label-width="120px" label-width="120px"
size="large" size="large"
> >
<el-row style="margin-right: -10px; margin-left: -10px"> <el-row class="mx-[-10px]">
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" class="px-10px">
<el-form-item> <el-form-item>
<LoginFormTitle style="width: 100%" /> <LoginFormTitle class="w-full" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" class="px-10px">
<el-form-item v-if="loginData.tenantEnable === 'true'" prop="tenantName"> <el-form-item v-if="loginData.tenantEnable === 'true'" prop="tenantName">
<el-input <el-input
v-model="loginData.loginForm.tenantName" v-model="loginData.loginForm.tenantName"
@ -26,7 +26,7 @@
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" class="px-10px">
<el-form-item prop="username"> <el-form-item prop="username">
<el-input <el-input
v-model="loginData.loginForm.username" v-model="loginData.loginForm.username"
@ -35,7 +35,7 @@
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" class="px-10px">
<el-form-item prop="password"> <el-form-item prop="password">
<el-input <el-input
v-model="loginData.loginForm.password" v-model="loginData.loginForm.password"
@ -49,7 +49,7 @@
</el-col> </el-col>
<el-col <el-col
:span="24" :span="24"
style="padding-right: 10px; padding-left: 10px; margin-top: -20px; margin-bottom: -20px" class="px-10px mt-[-20px] mb-[-20px]"
> >
<el-form-item> <el-form-item>
<el-row justify="space-between" style="width: 100%"> <el-row justify="space-between" style="width: 100%">
@ -60,7 +60,7 @@
</el-col> </el-col>
<el-col :offset="6" :span="12"> <el-col :offset="6" :span="12">
<el-link <el-link
style="float: right" class="float-right"
type="primary" type="primary"
@click="setLoginState(LoginStateEnum.RESET_PASSWORD)" @click="setLoginState(LoginStateEnum.RESET_PASSWORD)"
> >
@ -70,12 +70,12 @@
</el-row> </el-row>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" class="px-10px">
<el-form-item> <el-form-item>
<XButton <XButton
:loading="loginLoading" :loading="loginLoading"
:title="t('login.login')" :title="t('login.login')"
class="w-[100%]" class="w-full"
type="primary" type="primary"
@click="getCode()" @click="getCode()"
/> />
@ -89,27 +89,27 @@
mode="pop" mode="pop"
@success="handleLogin" @success="handleLogin"
/> />
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" class="px-10px">
<el-form-item> <el-form-item>
<el-row :gutter="5" justify="space-between" style="width: 100%"> <el-row :gutter="5" justify="space-between" style="width: 100%">
<el-col :span="8"> <el-col :span="8">
<XButton <XButton
:title="t('login.btnMobile')" :title="t('login.btnMobile')"
class="w-[100%]" class="w-full"
@click="setLoginState(LoginStateEnum.MOBILE)" @click="setLoginState(LoginStateEnum.MOBILE)"
/> />
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<XButton <XButton
:title="t('login.btnQRCode')" :title="t('login.btnQRCode')"
class="w-[100%]" class="w-full"
@click="setLoginState(LoginStateEnum.QR_CODE)" @click="setLoginState(LoginStateEnum.QR_CODE)"
/> />
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<XButton <XButton
:title="t('login.btnRegister')" :title="t('login.btnRegister')"
class="w-[100%]" class="w-full"
@click="setLoginState(LoginStateEnum.REGISTER)" @click="setLoginState(LoginStateEnum.REGISTER)"
/> />
</el-col> </el-col>
@ -117,9 +117,9 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-divider content-position="center">{{ t('login.otherLogin') }}</el-divider> <el-divider content-position="center">{{ t('login.otherLogin') }}</el-divider>
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" class="px-10px">
<el-form-item> <el-form-item>
<div class="w-[100%] flex justify-between"> <div class="w-full flex justify-between">
<Icon <Icon
v-for="(item, key) in socialList" v-for="(item, key) in socialList"
:key="key" :key="key"
@ -133,9 +133,9 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-divider content-position="center">萌新必读</el-divider> <el-divider content-position="center">萌新必读</el-divider>
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" class="px-10px">
<el-form-item> <el-form-item>
<div class="w-[100%] flex justify-between"> <div class="w-full flex justify-between">
<el-link href="https://doc.iocoder.cn/" target="_blank">📚开发指南</el-link> <el-link href="https://doc.iocoder.cn/" target="_blank">📚开发指南</el-link>
<el-link href="https://doc.iocoder.cn/video/" target="_blank">🔥视频教程</el-link> <el-link href="https://doc.iocoder.cn/video/" target="_blank">🔥视频教程</el-link>
<el-link href="https://www.iocoder.cn/Interview/good-collection/" target="_blank"> <el-link href="https://www.iocoder.cn/Interview/good-collection/" target="_blank">

View File

@ -9,14 +9,14 @@
label-width="120px" label-width="120px"
size="large" size="large"
> >
<el-row style="margin-right: -10px; margin-left: -10px"> <el-row class="mx-[-10px]">
<!-- 租户名 --> <!-- 租户名 -->
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" class="px-10px">
<el-form-item> <el-form-item>
<LoginFormTitle style="width: 100%" /> <LoginFormTitle class="w-full" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" class="px-10px">
<el-form-item v-if="loginData.tenantEnable === 'true'" prop="tenantName"> <el-form-item v-if="loginData.tenantEnable === 'true'" prop="tenantName">
<el-input <el-input
v-model="loginData.loginForm.tenantName" v-model="loginData.loginForm.tenantName"
@ -28,7 +28,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- 手机号 --> <!-- 手机号 -->
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" class="px-10px">
<el-form-item prop="mobileNumber"> <el-form-item prop="mobileNumber">
<el-input <el-input
v-model="loginData.loginForm.mobileNumber" v-model="loginData.loginForm.mobileNumber"
@ -38,7 +38,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- 验证码 --> <!-- 验证码 -->
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" class="px-10px">
<el-form-item prop="code"> <el-form-item prop="code">
<el-row :gutter="5" justify="space-between" style="width: 100%"> <el-row :gutter="5" justify="space-between" style="width: 100%">
<el-col :span="24"> <el-col :span="24">
@ -68,23 +68,23 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- 登录按钮 / 返回按钮 --> <!-- 登录按钮 / 返回按钮 -->
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" class="px-10px">
<el-form-item> <el-form-item>
<XButton <XButton
:loading="loginLoading" :loading="loginLoading"
:title="t('login.login')" :title="t('login.login')"
class="w-[100%]" class="w-full"
type="primary" type="primary"
@click="signIn()" @click="signIn()"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" class="px-10px">
<el-form-item> <el-form-item>
<XButton <XButton
:loading="loginLoading" :loading="loginLoading"
:title="t('login.backLogin')" :title="t('login.backLogin')"
class="w-[100%]" class="w-full"
@click="handleBackLogin()" @click="handleBackLogin()"
/> />
</el-form-item> </el-form-item>

View File

@ -1,17 +1,17 @@
<template> <template>
<el-row v-show="getShow" class="login-form" style="margin-right: -10px; margin-left: -10px"> <el-row v-show="getShow" class="login-form mx-[-10px]">
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" class="px-10px">
<LoginFormTitle style="width: 100%" /> <LoginFormTitle class="w-full" />
</el-col> </el-col>
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" class="px-10px">
<el-card class="mb-10px text-center" shadow="hover"> <el-card class="mb-10px text-center" shadow="hover">
<Qrcode :logo="logoImg" /> <Qrcode :logo="logoImg" />
</el-card> </el-card>
</el-col> </el-col>
<el-divider class="enter-x">{{ t('login.qrcode') }}</el-divider> <el-divider class="enter-x">{{ t('login.qrcode') }}</el-divider>
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" class="px-10px">
<div class="mt-15px w-[100%]"> <div class="mt-4 w-full">
<XButton :title="t('login.backLogin')" class="w-[100%]" @click="handleBackLogin()" /> <XButton :title="t('login.backLogin')" class="w-full" @click="handleBackLogin()" />
</div> </div>
</el-col> </el-col>
</el-row> </el-row>

View File

@ -9,13 +9,13 @@
label-width="120px" label-width="120px"
size="large" size="large"
> >
<el-row style="margin-right: -10px; margin-left: -10px"> <el-row class="mx-[-10px]">
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" class="px-10px">
<el-form-item> <el-form-item>
<LoginFormTitle style="width: 100%" /> <LoginFormTitle class="w-full" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" class="px-10px">
<el-form-item v-if="registerData.tenantEnable === 'true'" prop="tenantName"> <el-form-item v-if="registerData.tenantEnable === 'true'" prop="tenantName">
<el-input <el-input
v-model="registerData.registerForm.tenantName" v-model="registerData.registerForm.tenantName"
@ -27,7 +27,7 @@
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" class="px-10px">
<el-form-item prop="username"> <el-form-item prop="username">
<el-input <el-input
v-model="registerData.registerForm.username" v-model="registerData.registerForm.username"
@ -37,7 +37,7 @@
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" class="px-10px">
<el-form-item prop="username"> <el-form-item prop="username">
<el-input <el-input
v-model="registerData.registerForm.nickname" v-model="registerData.registerForm.nickname"
@ -47,7 +47,7 @@
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" class="px-10px">
<el-form-item prop="password"> <el-form-item prop="password">
<el-input <el-input
v-model="registerData.registerForm.password" v-model="registerData.registerForm.password"
@ -60,7 +60,7 @@
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" class="px-10px">
<el-form-item prop="confirmPassword"> <el-form-item prop="confirmPassword">
<el-input <el-input
v-model="registerData.registerForm.confirmPassword" v-model="registerData.registerForm.confirmPassword"
@ -73,12 +73,12 @@
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" class="px-10px">
<el-form-item> <el-form-item>
<XButton <XButton
:loading="loginLoading" :loading="loginLoading"
:title="t('login.register')" :title="t('login.register')"
class="w-[100%]" class="w-full"
type="primary" type="primary"
@click="getCode()" @click="getCode()"
/> />
@ -93,7 +93,7 @@
@success="handleRegister" @success="handleRegister"
/> />
</el-row> </el-row>
<XButton :title="t('login.hasUser')" class="w-[100%]" @click="handleBackLogin()" /> <XButton :title="t('login.hasUser')" class="w-full" @click="handleBackLogin()" />
</el-form> </el-form>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
@ -123,7 +123,7 @@ const captchaType = ref('blockPuzzle') // blockPuzzle 滑块 clickWord 点击文
const getShow = computed(() => unref(getLoginState) === LoginStateEnum.REGISTER) const getShow = computed(() => unref(getLoginState) === LoginStateEnum.REGISTER)
const equalToPassword = (rule, value, callback) => { const equalToPassword = (_rule, value, callback) => {
if (registerData.registerForm.password !== value) { if (registerData.registerForm.password !== value) {
callback(new Error('两次输入的密码不一致')) callback(new Error('两次输入的密码不一致'))
} else { } else {

View File

@ -1,7 +1,7 @@
<template> <template>
<div v-show="ssoVisible" class="form-cont"> <div v-show="ssoVisible" class="form-cont">
<!-- 应用名 --> <!-- 应用名 -->
<LoginFormTitle style="width: 100%" /> <LoginFormTitle class="w-full" />
<el-tabs class="form" style="float: none" value="uname"> <el-tabs class="form" style="float: none" value="uname">
<el-tab-pane :label="client.name" name="uname" /> <el-tab-pane :label="client.name" name="uname" />
</el-tabs> </el-tabs>
@ -15,17 +15,17 @@
v-for="scope in queryParams.scopes" v-for="scope in queryParams.scopes"
:key="scope" :key="scope"
:value="scope" :value="scope"
style="display: block; margin-bottom: -10px" class="block mb-[-10px]"
> >
{{ formatScope(scope) }} {{ formatScope(scope) }}
</el-checkbox> </el-checkbox>
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
<!-- 下方的登录按钮 --> <!-- 下方的登录按钮 -->
<el-form-item class="w-1/1"> <el-form-item class="w-full">
<el-button <el-button
:loading="formLoading" :loading="formLoading"
class="w-6/10" class="w-3/5"
type="primary" type="primary"
@click.prevent="handleAuthorize(true)" @click.prevent="handleAuthorize(true)"
> >