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柱状
1
2
3
4
5
6
|
this .chartEvent.on( 'click' , function (param) {
that.$router.push({
path: '/cases/case' ,
query: { createdTime: param.name,type: "createdTime" }
});
})
|
2.表格分页写法(不同跳转 显示不同传参)
注:由于该页面下拉框也有相应的优先级筛选条件 所有写了两层if判断了一下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
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(点击该组件跳转到详情页)
1
2
3
4
5
6
7
8
9
|
< 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 >
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<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>
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
<style lang= "scss" scoped>
.goods-info {
padding-bottom : 0.2 rem;
.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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
<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不同内容 跳转到同一表格的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/canshegui2293/article/details/104406367