ZBLOG

要实现从客服工单进入跟进页面后,返回时仍然保持在客服工单标签页(而不是默认跳转到内催工单),可以通过以下方式解决:

解决方案

  1. 在跳转时保存当前标签页状态: 在跳转到跟进页面时,将当前的 activeKey 通过路由参数传递过去。

  2. 返回时恢复标签页状态: 在返回列表页面时,从路由参数中读取之前保存的 activeKey 并恢复。


修改后的代码

1. 修改 workOrderQuery.vue(工单查询页面)

<script setup>
import { ref } from 'vue';
import { useRouter } from 'vue-router';

const router = useRouter();
const activeKey = ref('1'); // 默认是内催工单(key="1")

// 跳转到跟进页面时,传递当前 activeKey
const handleFollowUp = (record) => {
  const recordData = encodeURIComponent(JSON.stringify(record));
  
  if (record.workOrderType === '协商客户') {
    router.push({
      name: 'NegotiatePage',
      query: { 
        record: recordData,
        fromTab: activeKey.value // 传递当前标签页 key
      }
    });
  } else if (record.workOrderType === '投诉客户') {
    router.push({
      name: 'ComplaintPage',
      query: { 
        record: recordData,
        fromTab: activeKey.value // 传递当前标签页 key
      }
    });
  } else if (record.workOrderType === '其他') {
    router.push({
      name: 'OtherWorkOrder',
      query: { 
        record: recordData,
        fromTab: activeKey.value // 传递当前标签页 key
      }
    });
  }
};
</script>

2. 修改跟进页面(如 NegotiatePage.vue / ComplaintPage.vue / OtherWorkOrder.vue

<script setup>
import { useRouter, onBeforeMount } from 'vue-router';

const router = useRouter();

// 返回时带上原来的 tab key
const goBackToList = () => {
  const fromTab = router.currentRoute.value.query.fromTab || '1'; // 默认返回内催工单
  
  router.push({
    name: 'workOrderQuery',
    query: { 
      tab: fromTab // 返回时恢复原来的标签页
    }
});
</script>

3. workOrderQuery.vue 监听路由变化

<script setup>
import { ref, watch } from 'vue';
import { useRoute } from 'vue-router';

const route = useRoute();
const activeKey = ref('1');

// ⚠️监听路由变化,如果 URL query.tab=2,则切换到客服工单
watch(
() => route.query.tab,
(newTab) => {
if (newTab && ['1', '2'].includes(newTab)) {
activeKey.value = newTab;
}
},
{ immediate: true }
);
</script>

关键点说明

  • 跳转前存储状态:在点击“跟进”按钮时,把当前的 activeKey ('1''2') 通过 query.fromTab 传递给目标页面。
  • 返回时恢复状态:从目标页面返回列表页时,通过 query.tab= 还原之前的标签页。
  • 监听路由变化:使用 Vue Router 的 watch() 确保每次进入列表页都能正确显示对应的 Tab。

这样就能保证无论用户是从“内催工具”还是“客服工具”进入跟进页面,返回后仍然停留在原来的 Tab。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=23519

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?