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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
| <template>
| <!--
| 作者:luoyiming
| 时间:2019-12-25
| 描述:插件中心-团购管理
| -->
| <div>
| <!--团购活动-->
| <Activity v-if="activeName == 'activity'"></Activity>
| <!--团购商品-->
| <Product v-if="activeName == 'product'"></Product>
| <!--团购订单-->
| <Order v-if="activeName == 'order'"></Order>
| </div>
| </template>
|
| <script>
| import bus from '@/utils/eventBus.js';
| import PlusApi from '@/api/plus/groupbuy';
| import Activity from './active/index';
| import Product from './product/index';
| import Order from './order/index';
|
| export default {
| components: {
| Activity,
| Product,
| Order
| },
| data() {
| return {
| /*当前选中*/
| activeName: 'activity',
| /*切换数组*/
| sourceList: [
| {
| key: 'activity',
| value: '团购活动',
| path:'/plus/groupbuy/active/index'
| },
| {
| key: 'product',
| value: '团购商品',
| path:'/plus/groupbuy/product/index'
| },
| {
| key: 'order',
| value: '团购订单',
| path:'/plus/groupbuy/order/index'
| }
| ],
| /*权限筛选后的数据*/
| tabList:[]
| }
| },
| watch:{
| //监听路由
| $route(to, from) {
| this.init();
| }
| },
| created() {
| this.init();
| },
| beforeDestroy() {
| //发送类别切换
| bus.$emit('tabData', { active: null, tab_type:'groupbuy',list: [] });
| bus.$off('activeValue');
| },
| methods: {
| /*初始化方法*/
| init(){
| this.tabList=this.authFilter();
|
| if(this.tabList.length>0){
| this.activeName=this.tabList[0].key;
| }
|
| if (this.$route.query.type != null) {
| this.activeName = this.$route.query.type;
| }
|
| /*监听传插件的值*/
| bus.$on('activeValue', res => {
| this.activeName = res;
| });
|
| //发送类别切换
| let params = {
| active: this.activeName,
| list: this.tabList,
| tab_type:'groupbuy'
| };
| bus.$emit('tabData', params);
| },
|
| /*权限过滤*/
| authFilter(){
| let list=[];
| for(let i=0;i<this.sourceList.length;i++){
| let item=this.sourceList[i];
| if(this.$filter.isAuth(item.path)){
| list.push(item);
| }
| }
| return list;
| }
| }
| }
| </script>
|
|