Distribution.vue
2.43 KB
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
<style scoped>
.view {
transition: all .5s ease;
}
.view-enter, .view-leave {
opacity: 0;
transform: translate3d(10px, 0, 0);
}
[v-cloak] {
display: none;
}
</style>
<template>
<div>
<app-header type="distribution"></app-header>
<router-view
class="view"
transition="view"
transition-mode="out-in"
keep-alive></router-view>
<app-footer></app-footer>
</div>
</template>
<script>
var appHeader = require('./components/layout/header.vue');
var appFooter = require('./components/layout/footer.vue');
var store = require('./vuex/store');
var MT = require('./vuex/mutation-types');
var ctns = require('./vuex/constants_supplier');
//弹出提示信息
var MessageBox = require('vue-msgbox').default;
var Vue = require('vue');
Vue.prototype.MessageBox=MessageBox;
Vue.prototype.ctns=ctns;
module.exports = {
store: store,
components: {
appHeader: appHeader,
appFooter: appFooter
},
methods: {
getOnlineUser: function () {
var self = this;
Ajax.get('/online').then(function (resp) {
self.$store.dispatch(MT.SET_ONLINE_USER, resp.data);
});
},
getAreaData: function () {
var self = this;
Ajax.get('/area.json').then(function (resp) {
var array = resp.data.city;
var provinceArray = [];
var map = {};
var S_CITY = {'北京市': 1, '上海市': 1, '天津市': 1, '重庆市': 1, '香港': 1, '澳门': 1, '台湾': 1};
_.each(array, function (province) {
provinceArray.push(province.name);
// 直辖市、特政区
if (S_CITY[province.name]) {
map[province.name] = {
sub: [{name: '请选择'}, {name: province.name}]
};
map[province.name][province.name] = {
sub: province.sub
};
} else {
map[province.name] = {
sub: province.sub
};
_.each(province.sub, function (city) {
map[province.name][city.name] = {
sub: city.sub
};
});
}
});
self.$store.dispatch(MT.SET_AREA, {
provinceArray: provinceArray,
map: map
});
});
}
},
ready: function () {
this.getOnlineUser();
this.getAreaData();
}
};
</script>