|
@@ -3,15 +3,19 @@ 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'
|
|
|
|
|
|
|
|
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 handleSearch = () => {
|
|
const handleSearch = () => {
|
|
|
if (!searchValue.value) {
|
|
if (!searchValue.value) {
|
|
|
return
|
|
return
|
|
@@ -22,6 +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
|
|
|
|
|
+ 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,
|
|
@@ -53,6 +62,12 @@ const handleSearch = () => {
|
|
|
.then((res) => {
|
|
.then((res) => {
|
|
|
if (res.code === 200) {
|
|
if (res.code === 200) {
|
|
|
const { searchData } = res.data
|
|
const { searchData } = res.data
|
|
|
|
|
+ // 如果是在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',
|
|
@@ -63,6 +78,10 @@ const handleSearch = () => {
|
|
|
})
|
|
})
|
|
|
} else if (searchData.length !== 1) {
|
|
} else if (searchData.length !== 1) {
|
|
|
headerSearch.setChangeByLogin(true)
|
|
headerSearch.setChangeByLogin(true)
|
|
|
|
|
+ headerSearch.setSearchData({
|
|
|
|
|
+ searchValue: searchValue.value,
|
|
|
|
|
+ searchResult: ''
|
|
|
|
|
+ })
|
|
|
localStorage.setItem('TrackingData', JSON.stringify(res.data))
|
|
localStorage.setItem('TrackingData', JSON.stringify(res.data))
|
|
|
router.push({
|
|
router.push({
|
|
|
name: 'Tracking'
|
|
name: 'Tracking'
|
|
@@ -72,6 +91,18 @@ const handleSearch = () => {
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+onBeforeRouteUpdate((to, from, next) => {
|
|
|
|
|
+ console.log(to, from)
|
|
|
|
|
+ // if (to.name === 'Tracking') {
|
|
|
|
|
+ // headerSearch.setChangeByLogin(false)
|
|
|
|
|
+ // }
|
|
|
|
|
+ if (isJumpPageBySearch.value) {
|
|
|
|
|
+ isJumpPageBySearch.value = false
|
|
|
|
|
+ } else {
|
|
|
|
|
+ searchValue.value = ''
|
|
|
|
|
+ }
|
|
|
|
|
+ next()
|
|
|
|
|
+})
|
|
|
|
|
|
|
|
const downloadKLNPortalRef = ref()
|
|
const downloadKLNPortalRef = ref()
|
|
|
const handleDownload = () => {
|
|
const handleDownload = () => {
|