x
This commit is contained in:
+5
-6
@@ -5,15 +5,14 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Gemold - 模具制造管理系统</title>
|
||||
<link rel="stylesheet" href="/static/style.css">
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<div id="app">
|
||||
<div class="loading-state" style="height: 100vh;">
|
||||
<div class="spinner"></div>
|
||||
<span>加载中...</span>
|
||||
<div class="loading-overlay">
|
||||
<div class="loading-content">
|
||||
<div class="loading-spinner"></div>
|
||||
<p style="margin-top: 16px; color: var(--text-secondary);">加载中...</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
+1041
-1520
File diff suppressed because it is too large
Load Diff
+19
-26
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user