vue点击Dashboard不同内容 跳转到同一表格的实例

1.点击跳转写法

点击页面内容:优先级

<router-link :to=\'{ path: \”/cases/case\”,query: { priorityId: 0 ,type:\”priorityId\”}}\’ style=\”color: #515a6e;\”>优先级</router-link>

点击页面内容:状态

<router-link :to=\'{ path: \”/cases/case\”,query: { status: 0 ,type:\”status\”}}\’ style=\”color: #515a6e;\”>状态</router-link>

点击echarts柱状

this.chartEvent.on(\'click\',function (param) {
   that.$router.push({
     path: \'/cases/case\',
     query: { createdTime: param.name,type:\"createdTime\" }
   });
 })

2.表格分页写法(不同跳转 显示不同传参)

注:由于该页面下拉框也有相应的优先级筛选条件 所有写了两层if判断了一下

getData: function(){
  //获取CaseSearch里面的搜索内容
  eventBus.$on(\'ticketEntityId\',function(val){
    tableCaseVue.ticketEntityId=val;
  })
  eventBus.$on(\'companyId\',function(val){
    tableCaseVue.companyId=val;
  })
  eventBus.$on(\'priorityId\',function(val){
    tableCaseVue.priorityId=val;
  })
  eventBus.$on(\'status\',function(val){
    tableCaseVue.status=val;
  })
  eventBus.$on(\'ticketCategory\',function(val){
    tableCaseVue.ticketCategory=val;
  })

  var pageTicketDate = {
    \"pageNum\": this.current,
    \"pageSize\": this.pageSize,
    \"priorityId\":tableCaseVue.priorityId,
    \"status\":tableCaseVue.status,
    \"ticketEntityId\":tableCaseVue.ticketEntityId,
    \"companyId\":tableCaseVue.companyId,
    \"ticketCategory\":tableCaseVue.ticketCategory
  };
  // 优先级
  if((this.$route.query.type == \'priorityId\')&&(pageTicketDate.priorityId==\'\')){
    pageTicketDate.priorityId=this.$route.query.priorityId;
  }

  // 状态
  if((this.$route.query.type == \'status\')&&(pageTicketDate.status==\'\')){
    pageTicketDate.status=this.$route.query.status;
  }

  //创建时间
  if (this.$route.query.type == \'createdTime\') {
    pageTicketDate.createdTime = this.$route.query.createdTime;
  }

  //当前月
  if (this.$route.query.type == \'currentMonth\') {
    pageTicketDate.currentMonth = this.$route.query.currentMonth;
  }

  if(pageTicketDate.ticketEntityId||pageTicketDate.companyId||pageTicketDate.priorityId||pageTicketDate.status||pageTicketDate.ticketCategory){
    pageTicketDate.ticketEntityId=tableCaseVue.ticketEntityId;
    pageTicketDate.companyId=tableCaseVue.companyId;
    pageTicketDate.priorityId=tableCaseVue.priorityId;
    pageTicketDate.status=tableCaseVue.status;
    pageTicketDate.ticketCategory=tableCaseVue.ticketCategory;
    pageTicketDate.createdTime=\'\';
    pageTicketDate.currentMonth=\'\';
  }

  this.$api.ticket.pageTicket(pageTicketDate)
  .then(res => {
    this.tableCaseDate = res.data.records;
    for(var i=0;i<this.tableCaseDate.length;i++){
      // 响应时间
      if(this.tableCaseDate[i].waitTime!=undefined){
        this.tableCaseDate[i].waitTime=this.tableCaseDate[i].waitTime+\'分钟\';
      }
      // 处理时间
      if(this.tableCaseDate[i].handleTime!=undefined){
        this.tableCaseDate[i].handleTime=this.tableCaseDate[i].handleTime+\'分钟\';
      }
      // 完成时间
      if(this.tableCaseDate[i].finishTime!=undefined){
        this.tableCaseDate[i].finishTime=this.tableCaseDate[i].finishTime;
      }else{
        this.tableCaseDate[i].finishTime=\'N/A\';
      }
    }
    // 当前页
    this.current = res.data.current;
    // 总条数
    this.dataTotal = res.data.total;
  });
}

补充知识:vue点击跳转到详情页

1商品组件页面GoodsInfo.vue(点击该组件跳转到详情页)

<template>
<div class=\"goods-info\" @click=\"goGoodsPage()\">
<div class=\"goods-image\">
<img v-lazy=\"goodsImage\">
</div>
<div class=\"goods-name\">{{goodsName}}</div>
<div class=\"goods-price\">¥{{ goodsPrice.toFixed(2) }}</div>
</div>
</template>
<script>
export default {
name: \"goodsInfo\",
// 首页传过来的
props: [\"goodsImage\", \"goodsName\", \"goodsPrice\", \"goodsId\"],
data() {
return {};
},
methods: {
goGoodsPage() {
// 跳转到Goods.vue商品详情页面,name为Goods.vue页面路由配置里的的name属性
this.$router.push({name:\"goods\",query:{goodsId:this.goodsId}})
}
}
};
</script>
<style lang=\"scss\" scoped>
.goods-info {
padding-bottom: 0.2rem;
.goods-image {
text-align: center;
img{
width: 95%;vertical-align: middle;
}
}
.goods-name {
padding: 0 8px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.goods-price {
text-align: center;
color: #e5017d;
}
}
</style>

2商品详情页面Goods.vue(接收商品组件页面GoodsInfo.vue传过来的goodsId)

<template>
 <div>商品详情页</div>
</template>

<script>
import url from \"@/urlApi.js\";
export default {
 name: \"goods\",
 data() {
  return {
   goodsId: \"\"
  };
 },
 created () {
   // 接收GoodsInfo.vue传过来的goodsId
   this.goodsId = this.$route.query.goodsId
   console.log(this.goodsId)
   this.getGoodsInfo();
 },
 methods: {
  getGoodsInfo() {
   let that = this;
   this.$http
    .post(url.getDetailGoodsInfo,{goodsId: that.goodsId})
    .then(response => {
      //根据goodsId获取对应的商品详情信息
      console.log(response)
    })
    .catch(error => {

    });
  }
 }
};
</script>

<style lang=\"scss\" scoped>
</style

以上这篇vue点击Dashboard不同内容 跳转到同一表格的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容