fix(ui): Login - LDAP checkbox display condition

This commit is contained in:
LH_R
2025-04-22 21:33:17 +08:00
parent be4fc62218
commit 3a7f4a31d0

View File

@@ -54,10 +54,11 @@
>登录</a-button >登录</a-button
> >
<a-checkbox <a-checkbox
v-if="enable_list && enable_list.length === 1 && enable_list[0].auth_type === 'LDAP'" v-if="hasLDAP"
v-model="auth_with_ldap" v-model="auth_with_ldap"
>LDAP</a-checkbox
> >
LDAP
</a-checkbox>
</a-form-item> </a-form-item>
</a-form> </a-form>
<template v-if="_enable_list && _enable_list.length >= 1"> <template v-if="_enable_list && _enable_list.length >= 1">
@@ -104,21 +105,20 @@ export default {
computed: { computed: {
...mapState({ auth_enable: (state) => state?.user?.auth_enable ?? {} }), ...mapState({ auth_enable: (state) => state?.user?.auth_enable ?? {} }),
enable_list() { enable_list() {
return this.auth_enable.enable_list ?? [] return this.auth_enable?.enable_list ?? []
},
hasLDAP() {
return this.enable_list.some((en) => en.auth_type === 'LDAP')
}, },
_enable_list() { _enable_list() {
return this.enable_list.filter((en) => en.auth_type !== 'LDAP') return this.enable_list.filter((en) => en.auth_type !== 'LDAP')
}, },
}, },
watch: { watch: {
enable_list: { hasLDAP: {
immediate: true, immediate: true,
handler(newVal) { handler(newVal) {
if (newVal && newVal.length === 1 && newVal[0].auth_type === 'LDAP') { this.auth_with_ldap = newVal
this.auth_with_ldap = true
} else {
this.auth_with_ldap = false
}
}, },
}, },
}, },
@@ -142,7 +142,7 @@ export default {
handleSubmit(e) { handleSubmit(e) {
e.preventDefault() e.preventDefault()
const { const {
enable_list, hasLDAP,
form: { validateFields }, form: { validateFields },
state, state,
customActiveKey, customActiveKey,
@@ -160,10 +160,7 @@ export default {
delete loginParams.username delete loginParams.username
loginParams.username = values.username loginParams.username = values.username
loginParams.password = appConfig.useEncryption ? md5(values.password) : values.password loginParams.password = appConfig.useEncryption ? md5(values.password) : values.password
loginParams.auth_with_ldap = loginParams.auth_with_ldap = hasLDAP ? Number(auth_with_ldap) : undefined
enable_list && enable_list.length === 1 && enable_list[0].auth_type === 'LDAP'
? Number(auth_with_ldap)
: undefined
localStorage.setItem('ops_auth_type', '') localStorage.setItem('ops_auth_type', '')
Login({ userInfo: loginParams }) Login({ userInfo: loginParams })