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

时间:2021-05-26

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不同内容 跳转到同一表格的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章