This commit is contained in:
2026-03-07 00:41:05 +08:00
parent a727453e95
commit 843e0d8665
3 changed files with 1066 additions and 1553 deletions
+19 -26
View File
@@ -225,7 +225,7 @@ const App = {
<header class="app-header">
<div class="header-content">
<div class="logo" @click="router.push('/')">
<div class="logo-icon">◆</div>
<div class="logo-icon">G</div>
<div>
<div class="logo-text">Gemold</div>
<div class="logo-subtitle">模具制造管理系统</div>
@@ -239,7 +239,6 @@ const App = {
:to="item.path"
:class="['nav-item', { active: isActive(item.path) }]"
>
<span class="nav-icon">{{ item.icon }}</span>
{{ item.label }}
</router-link>
</nav>
@@ -247,13 +246,13 @@ const App = {
<div class="user-section">
<template v-if="appState.user">
<div class="user-info">
<div class="user-avatar">{{ (appState.user.full_name || appState.user.username).charAt(0).toUpperCase() }}</div>
<span class="user-name">{{ appState.user.full_name || appState.user.username }}</span>
<span v-if="appState.user.is_superuser" class="admin-badge">管理员</span>
</div>
<button class="btn-logout" @click="handleLogout">退出</button>
<button class="btn btn-secondary btn-sm" @click="handleLogout">退出</button>
</template>
<template v-else>
<router-link to="/login" class="btn-login">登录</router-link>
<router-link to="/login" class="btn btn-primary btn-sm">登录</router-link>
</template>
</div>
</div>
@@ -266,14 +265,6 @@ const App = {
</transition>
</router-view>
</main>
<footer class="app-footer">
<div class="footer-content">
<span class="footer-item">Gemold v4.0.0</span>
<span class="footer-divider"></span>
<span class="footer-item">模具制造管理系统</span>
</div>
</footer>
</div>
`,
};
@@ -333,44 +324,46 @@ const LoginView = {
return { state, handleSubmit };
},
template: `
<div class="auth-page">
<div class="auth-card">
<div class="auth-header">
<div class="auth-logo">◆</div>
<h1>登录</h1>
<p>登录到 Gemold 系统</p>
<div class="login-container">
<div class="login-card">
<div class="login-header">
<div class="login-logo">G</div>
<h1 class="login-title">欢迎回来</h1>
<p class="login-subtitle">登录到 Gemold 系统</p>
</div>
<form @submit.prevent="handleSubmit" class="auth-form">
<form @submit.prevent="handleSubmit" class="login-form">
<div class="form-group">
<label>用户名</label>
<label class="form-label">用户名</label>
<input
v-model="state.username"
type="text"
class="form-input"
placeholder="请输入用户名"
autocomplete="username"
/>
</div>
<div class="form-group">
<label>密码</label>
<label class="form-label">密码</label>
<input
v-model="state.password"
type="password"
class="form-input"
placeholder="请输入密码"
autocomplete="current-password"
/>
</div>
<div v-if="state.error" class="error-message">{{ state.error }}</div>
<div v-if="state.error" class="form-error">{{ state.error }}</div>
<button type="submit" class="btn-primary btn-full" :disabled="state.loading">
<button type="submit" class="btn btn-primary btn-lg w-full" :disabled="state.loading">
{{ state.loading ? '登录中...' : '登录' }}
</button>
</form>
<div class="auth-footer">
<p class="auth-tip">如需开通账号,请联系管理员</p>
<div class="login-footer" style="margin-top: var(--space-6); text-align: center;">
<p style="font-size: var(--text-sm); color: var(--text-tertiary);">如需开通账号,请联系管理员</p>
</div>
</div>
</div>