Просмотр исходного кода

fix(layout): 个人信息下拉项占位提示、注册按钮跳转注册页签、后台移除无效注册按钮

yangyi 2 недель назад
Родитель
Сommit
2329bd9a66
3 измененных файлов с 12 добавлено и 5 удалено
  1. 5 2
      src/layout/AdminLayout.vue
  2. 6 2
      src/layout/UserLayout.vue
  3. 1 1
      src/view/LoginView.vue

+ 5 - 2
src/layout/AdminLayout.vue

@@ -4,6 +4,7 @@ import {computed, type ComputedRef, ref} from "vue";
 import type {RouteRecordRaw} from "vue-router";
 import router, {adminRoutes} from "../router";
 import {Expand, Fold, UserFilled} from "@element-plus/icons-vue";
+import {ElMessage} from "element-plus";
 
 const title = ref<string>("分布式OJ系统");
 const loginUserStore = useLoginUserStore()
@@ -15,6 +16,9 @@ const logoutHandler = () => {
   loginUserStore.logoutUser()
   router.push('/problems')
 }
+const handleProfile = () => {
+  ElMessage.info('功能开发中,敬请期待')
+}
 const menus:ComputedRef<RouteRecordRaw[] | undefined> = computed(()=>{
   const role = loginUserStore.loginUser.user?.role
   return adminRoutes[0].children?.filter((child) => {
@@ -43,7 +47,7 @@ const isCollapse = ref(false)
             </el-button>
             <template #dropdown>
               <el-dropdown-menu>
-                <el-dropdown-item>个人信息</el-dropdown-item>
+                <el-dropdown-item @click="handleProfile">个人信息</el-dropdown-item>
                 <el-dropdown-item divided @click="logoutHandler">退出登录</el-dropdown-item>
               </el-dropdown-menu>
             </template>
@@ -51,7 +55,6 @@ const isCollapse = ref(false)
         </template>
         <template v-else>
           <el-button type="primary" size="small" @click="loginHandler">登录</el-button>
-          <el-button size="small" @click="loginHandler">注册</el-button>
         </template>
       </div>
     </el-header>

+ 6 - 2
src/layout/UserLayout.vue

@@ -36,7 +36,7 @@
               </el-button>
               <template #dropdown>
                 <el-dropdown-menu>
-                  <el-dropdown-item>个人信息</el-dropdown-item>
+                  <el-dropdown-item @click="handleProfile">个人信息</el-dropdown-item>
                   <el-dropdown-item divided @click="logoutHandler">退出登录</el-dropdown-item>
                 </el-dropdown-menu>
               </template>
@@ -44,7 +44,7 @@
           </template>
           <template v-else>
             <el-button type="primary" size="small" @click="loginHandler">登录</el-button>
-            <el-button size="small" @click="router.push('/login')">注册</el-button>
+            <el-button size="small" @click="router.push({ path: '/login', query: { tab: 'register' } })">注册</el-button>
           </template>
         </div>
       </el-header>
@@ -61,6 +61,7 @@
 <script setup lang="ts">
 import {computed} from 'vue'
 import {useRoute} from 'vue-router'
+import {ElMessage} from 'element-plus'
 import {useLoginUserStore, useMetaStore} from "../store";
 import router, {userRoutes} from "../router";
 import {
@@ -86,6 +87,9 @@ const logoutHandler = () => {
   loginUserStore.logoutUser()
   router.push('/problems')
 }
+const handleProfile = () => {
+  ElMessage.info('功能开发中,敬请期待')
+}
 </script>
 <style scoped>
 .user-layout {

+ 1 - 1
src/view/LoginView.vue

@@ -137,7 +137,7 @@ const route = useRoute()
 const router = useRouter()
 const loginUserStore = useLoginUserStore()
 
-const activeTab = ref('login')
+const activeTab = ref(route.query.tab === 'register' ? 'register' : 'login')
 
 const loginFormRef = ref<FormInstance>()
 const registerFormRef = ref<FormInstance>()