1. 程式人生 > 程式設計 >vue點選Dashboard不同內容 跳轉到同一表格的例項

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不同內容 跳轉到同一表格的例項就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。