瀏覽代碼

feat: 修改顶部搜索后如果是在Tracking页面,跳转为其他页面时搜索值不清空bug

zhouyuhao 1 年之前
父節點
當前提交
2fc0b6d5b8
共有 1 個文件被更改,包括 14 次插入5 次删除
  1. 14 5
      src/views/Layout/src/components/Header/HeaderView.vue

+ 14 - 5
src/views/Layout/src/components/Header/HeaderView.vue

@@ -3,17 +3,18 @@ import { Search } from '@element-plus/icons-vue'
 import DownloadKLNPortal from './components/DownloadKLNPortal.vue'
 import DownloadKLNPortal from './components/DownloadKLNPortal.vue'
 import ChangePasswordDialog from './components/ChangePasswordDialog.vue'
 import ChangePasswordDialog from './components/ChangePasswordDialog.vue'
 import LogoutDialog from './components/LogoutDialog.vue'
 import LogoutDialog from './components/LogoutDialog.vue'
-import { useRouter } from 'vue-router'
+import { useRouter, useRoute } from 'vue-router'
 import { useUserStore } from '@/stores/modules/user'
 import { useUserStore } from '@/stores/modules/user'
 import { useHeaderSearch } from '@/stores/modules/headerSearch'
 import { useHeaderSearch } from '@/stores/modules/headerSearch'
 import { onBeforeRouteUpdate } from 'vue-router'
 import { onBeforeRouteUpdate } from 'vue-router'
-import { head } from 'lodash'
 
 
 const userStore = useUserStore()
 const userStore = useUserStore()
+const route = useRoute()
 const router = useRouter()
 const router = useRouter()
 const headerSearch = useHeaderSearch()
 const headerSearch = useHeaderSearch()
 
 
 const searchValue = ref('')
 const searchValue = ref('')
+// 用于判断是否在搜索后跳转页面,跳转后清空搜索框的值
 const isJumpPageBySearch = ref(false)
 const isJumpPageBySearch = ref(false)
 const handleSearch = () => {
 const handleSearch = () => {
   if (!searchValue.value) {
   if (!searchValue.value) {
@@ -25,7 +26,11 @@ const handleSearch = () => {
     $api.getPublicTrackingDetail({ reference_number: searchValue.value }).then((res) => {
     $api.getPublicTrackingDetail({ reference_number: searchValue.value }).then((res) => {
       if (res.code === 200) {
       if (res.code === 200) {
         const { data } = res
         const { data } = res
-        isJumpPageBySearch.value = true
+        if (route.path === '/public-tracking') {
+          isJumpPageBySearch.value = false
+        } else {
+          isJumpPageBySearch.value = true
+        }
         if (data.msg === 'No matches') {
         if (data.msg === 'No matches') {
           headerSearch.setSearchData({
           headerSearch.setSearchData({
             searchValue: searchValue.value,
             searchValue: searchValue.value,
@@ -57,7 +62,12 @@ const handleSearch = () => {
       .then((res) => {
       .then((res) => {
         if (res.code === 200) {
         if (res.code === 200) {
           const { searchData } = res.data
           const { searchData } = res.data
-          isJumpPageBySearch.value = true
+          // 如果是在tracking页面搜索,那么isJumpPageBySearch不用置为true,跳转路由后直接清空搜索框
+          if (route.path === '/tracking') {
+            isJumpPageBySearch.value = false
+          } else {
+            isJumpPageBySearch.value = true
+          }
           if (searchData.length === 1) {
           if (searchData.length === 1) {
             router.push({
             router.push({
               name: 'Tracking Detail',
               name: 'Tracking Detail',
@@ -86,7 +96,6 @@ onBeforeRouteUpdate((to, from, next) => {
   // if (to.name === 'Tracking') {
   // if (to.name === 'Tracking') {
   //   headerSearch.setChangeByLogin(false)
   //   headerSearch.setChangeByLogin(false)
   // }
   // }
-  console.log(isJumpPageBySearch.value)
   if (isJumpPageBySearch.value) {
   if (isJumpPageBySearch.value) {
     isJumpPageBySearch.value = false
     isJumpPageBySearch.value = false
   } else {
   } else {