您的位置:首頁/技術文章
文章詳情頁

vue點擊Dashboard不同內容 跳轉到同一表格的實例

瀏覽:15日期:2022-10-29 14:12:33

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 @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不同內容 跳轉到同一表格的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Vue
相關文章:
国产综合久久一区二区三区