Xiao_123 8 kuukautta sitten
vanhempi
commit
e47923434c

+ 6 - 5
src/layout/personal/navBar.vue

@@ -7,7 +7,7 @@
     >
       <div class="innerBox d-flex justify-space-between">
         <div>
-          <div class="nav-logo mr-5 mt-1">
+          <div class="nav-logo mr-5 mt-1 cursor-pointer" @click="router.push('/')">
             <v-img src="../../assets/logo.png"  aspect-ratio="16/9" cover :width="90" style="height: 40px"></v-img>
           </div>
           <!-- <div class="nav-city">
@@ -21,10 +21,10 @@
           <div class="menuList">
             <div v-for="val in navList" :key="val.name" class="mr-3">
               <template v-if="val.children">
-                <defineListPage v-bind="$attrs" :title="val.title" :list="val.children" @emitClick="handleClick"></defineListPage>
+                <defineListPage v-bind="$attrs" :title="val.title" :list="val.children" @emitClick="handleClick" :closeOnContentClick="true"></defineListPage>
               </template>
               <template v-else>
-                <span class="cursor-pointer menuList-first-title" :class="{'active-route': routeActive === paths.indexOf(val.path)}" @click="handleClick(val)">{{ val.title }}</span>
+                <span class="cursor-pointer menuList-first-title" :class="{'active-route': routeActive === paths.indexOf(val.path)}" @click="handleClick(val, true)">{{ val.title }}</span>
               </template>
             </div>
           </div>
@@ -176,9 +176,10 @@ const navList = [
   { title: '了解门墩儿' },
 ]
 
-const handleClick = (e) => {
+const handleClick = (e, status) => {
   if (!e.path) return
-  window.open(e.path)
+  if (status) window.open(e.path)
+  else router.push(e.path)
 }
 
 const routeActive = computed(() => {

+ 5 - 1
src/views/entrances/navBar/components/defineListPage.vue

@@ -1,5 +1,5 @@
 <template>
-  <m-menu :btnTitle="title">
+  <m-menu :btnTitle="title" :closeOnContentClick="closeOnContentClick">
     <v-card elevation="3" style="padding: 40px 60px; width: 100%; overflow: auto;">
       <div v-if="list?.length" class="d-flex">
         <div v-for="(item, i) in list" :key="'product'+i" :style="{'margin-left': i ? ml : 'auto'}">
@@ -47,6 +47,10 @@ defineProps({
   ml: {
     type: String,
     default: '150px'
+  },
+  closeOnContentClick: {
+    type: Boolean,
+    default: false
   }
 })
 </script>