From 3bc8a854262f208dea7f70ab5937a0c7d9f25f97 Mon Sep 17 00:00:00 2001 From: chenqi Date: Fri, 19 Jun 2026 21:59:26 +0800 Subject: [PATCH] =?UTF-8?q?fix(mobile):=20=E4=BF=AE=E5=A4=8D=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E9=A1=B5=E9=9D=A2=E5=A7=8B=E7=BB=88=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E5=8C=BB=E9=99=A2=E9=80=89=E6=8B=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- healthlink-his-mobile/src/views/Login.vue | 38 ++++++++++++++++------- 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/healthlink-his-mobile/src/views/Login.vue b/healthlink-his-mobile/src/views/Login.vue index db00df726..9d1e8fc65 100644 --- a/healthlink-his-mobile/src/views/Login.vue +++ b/healthlink-his-mobile/src/views/Login.vue @@ -2,7 +2,7 @@
-
- - + +
@@ -25,6 +26,9 @@
{{ errorMsg }}
+
@@ -37,24 +41,35 @@ import { authApi } from '../api' const router = useRouter() const loading = ref(false) const errorMsg = ref('') -const tenants = ref([]) -const form = ref({ username: '', password: '', tenantId: null }) +const tenantOptions = ref([]) +const currentTenantName = ref('') +const form = ref({ username: '', password: '', tenantId: '' }) const loadTenants = async () => { if (!form.value.username) return try { const res = await authApi.getTenants(form.value.username) if (res.code === 200 && res.data) { - tenants.value = res.data - if (res.data.length === 1) form.value.tenantId = res.data[0].id + tenantOptions.value = res.data.map(item => ({ + label: item.tenantName, + value: item.id + })) + if (tenantOptions.value.length === 1) { + form.value.tenantId = tenantOptions.value[0].value + currentTenantName.value = tenantOptions.value[0].label + } } } catch (e) { console.error(e) } } +const onTenantChange = () => { + const selected = tenantOptions.value.find(t => t.value === form.value.tenantId) + currentTenantName.value = selected ? selected.label : '' +} + const handleLogin = async () => { if (!form.value.username) { errorMsg.value = '请输入用户名'; return } if (!form.value.password) { errorMsg.value = '请输入密码'; return } - if (!form.value.tenantId && tenants.value.length > 0) { errorMsg.value = '请选择租户'; return } loading.value = true errorMsg.value = '' @@ -85,7 +100,7 @@ const handleLogin = async () => { .login-page { min-height: 100vh; background: linear-gradient(135deg, #1890ff 0%, #096dd9 100%); display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 20px; } .login-header { text-align: center; color: #fff; margin-bottom: 40px; } .logo { font-size: 60px; margin-bottom: 12px; } -.login-header h1 { font-size: 24px; margin: 0; } +.login-header h1 { font-size: 22px; margin: 0; } .login-header p { font-size: 14px; opacity: 0.8; margin-top: 8px; } .login-form { background: #fff; border-radius: 12px; padding: 24px; width: 100%; max-width: 360px; box-shadow: 0 4px 20px rgba(0,0,0,0.15); } .form-item { margin-bottom: 16px; } @@ -96,4 +111,5 @@ select.input { appearance: none; background: #fff url("data:image/svg+xml,%3Csvg .login-btn { width: 100%; padding: 14px; background: #1890ff; color: #fff; border: none; border-radius: 8px; font-size: 18px; font-weight: 600; cursor: pointer; } .login-btn:disabled { background: #91d5ff; } .error-msg { color: #f5222d; text-align: center; margin-top: 12px; font-size: 14px; } +.login-footer { margin-top: 20px; color: rgba(255,255,255,0.6); font-size: 12px; }