From eb1bbfb7e6f3a1895b606d1a9a261928ac841f33 Mon Sep 17 00:00:00 2001
From: 曹睿 <360930172@qq.com>
Date: 星期三, 18 六月 2025 17:06:43 +0800
Subject: [PATCH] feat: 添加设备台账页面

---
 src/layout/components/Navbar.vue |   56 +++++++++++++++++++++++++++++++-------------------------
 1 files changed, 31 insertions(+), 25 deletions(-)

diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue
index 2574903..1f0d385 100644
--- a/src/layout/components/Navbar.vue
+++ b/src/layout/components/Navbar.vue
@@ -1,29 +1,27 @@
 <template>
   <div class="navbar">
     <div>
-      <hamburger id="hamburger-container" :is-active="appStore.sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" />
+      <hamburger id="hamburger-container" :is-active="appStore.sidebar.opened" class="hamburger-container"
+        @toggleClick="toggleSideBar" />
       <breadcrumb v-if="!settingsStore.topNav" id="breadcrumb-container" class="breadcrumb-container" />
     </div>
-<!--    <top-nav v-if="settingsStore.topNav" id="topmenu-container" class="topmenu-container" />-->
+    <!--    <top-nav v-if="settingsStore.topNav" id="topmenu-container" class="topmenu-container" />-->
     <div class="center-menu">
-      <span class="label">{{userStore.currentFactoryName}}</span>
+      <span class="label">{{ userStore.currentFactoryName }}</span>
       <el-dropdown @command="handleFactoryChange" class="right-menu-item hover-effect" trigger="click">
-        <div class="avatar-wrapper">
-          <el-icon><Switch /></el-icon>
+        <div>
+          <el-icon size="20">
+            <Switch />
+          </el-icon>
         </div>
         <template #dropdown>
-          <el-dropdown-menu >
-            <el-dropdown-item
-                v-for="item in factoryList"
-                :key="item.deptId"
-                :command="item"
-            >
+          <el-dropdown-menu>
+            <el-dropdown-item v-for="item in factoryList" :key="item.deptId" :command="item">
               {{ item.deptName }}
             </el-dropdown-item>
           </el-dropdown-menu>
         </template>
       </el-dropdown>
-
     </div>
     <div class="right-menu">
       <div class="avatar-container">
@@ -75,6 +73,10 @@
 function toggleSideBar() {
   appStore.toggleSideBar()
 }
+// const redirect = ref(undefined)
+// watch(route, (newRoute) => {
+//   redirect.value = newRoute.query && newRoute.query.redirect
+// }, { immediate: true })
 
 function handleCommand(command) {
   switch (command) {
@@ -111,12 +113,12 @@
 }
 
 function getUserLoginFacotryList() {
-  if(userStore.id){
-    userLoginFacotryList({userId:userStore.id}).then(res => {
+  if (userStore.id) {
+    userLoginFacotryList({ userId: userStore.id }).then(res => {
       console.log('res', res)
       factoryList.value = res.data
     })
-  }else {
+  } else {
     factoryList.value = []
   }
 }
@@ -126,23 +128,22 @@
   handleLogin(command.deptId);
 }
 
-function handleLogin(currentFatoryId){
+function handleLogin(currentFatoryId) {
   const loginForm = {
     username: Cookies.get("username"),
     password: Cookies.get("password") === undefined ? null : decrypt(Cookies.get("password")),
     currentFatoryId: currentFatoryId
   }
   userStore.loginCheckFactory(loginForm).then(res => {
-    const query = route.query
-    const otherQueryParams = Object.keys(query).reduce((acc, cur) => {
-      if (cur !== "redirect") {
-        acc[cur] = query[cur]
-      }
-      return acc
-    }, {})
-    router.push({ path: redirect.value || "/", query: otherQueryParams })
-  }).catch(() => {
+    forceReload();
+  }).catch((err) => {
+    console.log(err)
   })
+}
+function forceReload() {
+  const currentUrl = window.location.origin + window.location.pathname;
+  const timestamp = new Date().getTime();
+  window.location.href = `${currentUrl}?reload=${timestamp}`;
 }
 
 getUserLoginFacotryList();
@@ -155,15 +156,20 @@
   position: relative;
   background: var(--navbar-bg);
   box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08);
+
   .center-menu {
     line-height: 50px;
     position: absolute;
     left: 50%;
     transform: translateX(-50%);
+    display: flex;
+    align-items: center;
+
     .label {
       font-weight: bold;
       font-size: 18px;
       color: #333333;
+      margin-right: 10px;
     }
   }
 

--
Gitblit v1.9.3