[关闭]
@salen 2017-11-06T03:05:47.000000Z 字数 1343 阅读 310

开单页面顶部导航

未分类


模板

  1. <template>
  2. <div class="Billing">
  3. <el-tabs v-model="activeItem" @tab-click="handleClick" class="tabs">
  4. <el-tab-pane label="开单明细" name="detail"></el-tab-pane>
  5. <el-tab-pane label="开单费用" name="cost"></el-tab-pane>
  6. <el-tab-pane label="拼单明细" name="bind"></el-tab-pane>
  7. <el-tab-pane label="体积" name="volume"></el-tab-pane>
  8. <el-tab-pane label="出发/到达信息" name="deparr"></el-tab-pane>
  9. <el-tab-pane label="相关航班信息" name="flight"></el-tab-pane>
  10. </el-tabs>
  11. <i class="el-icon-circle-close closeBilling" @click="backSearch"></i>
  12. <keep-alive>
  13. <component :is="activeItem"></component>
  14. </keep-alive>
  15. </div>
  16. </template>

交互

  1. <script>
  2. // 更改引入可控制导航项对应组件(现明细需要改变,其余可复用)
  3. import detail from "./detail" // 明细
  4. import cost from "../common/cost" // 费用
  5. import bind from "../common/bind" // 拼单
  6. import volume from "../common/volume" // 体积
  7. import deparr from "../common/deparr" // 出发到达
  8. import flight from "../common/flight" // 相关航班
  9. export default {
  10. data() {
  11. return {
  12. activeItem: 'detail',
  13. type: 'main',
  14. }
  15. },
  16. components: {
  17. detail,
  18. cost,
  19. bind,
  20. volume,
  21. deparr,
  22. flight,
  23. },
  24. mounted() {
  25. this.type = this.$route.params.type // 当前单类型 main 主单 sub 分单
  26. this.activeItem = this.$route.params.item // 当前活动导航
  27. },
  28. watch: {
  29. '$route'() {
  30. this.activeItem = this.$route.params.item // 路由改变时更改当前活动导航
  31. }
  32. },
  33. methods: {
  34. handleClick(tab, event) { // 点击导航时改变路由
  35. this.$router.push({params: {item: tab.name}})
  36. },
  37. backSearch() { // 点击关闭按钮时返回当前模块对应查询页
  38. this.$router.push(`/receive/${this.type}`)
  39. },
  40. }
  41. }
  42. </script>

具体代码参考 src ->pages ->receive ->billing

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注