me.vue
3.1 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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<template>
<div class="top-content">
<van-image round width="4rem" height="4rem" :src="myKgInfo.logo ? myKgInfo.logo : icon_logo" />
<div v-if="myKgInfo.multi_name">
<p class="title">{{ myKgInfo.multi_name[0] }}<br />{{ myKgInfo.multi_name[1] }}</p>
</div>
<p v-else class="title">{{ myKgInfo.name }}</p>
</div>
<template v-for="(item, key) in itemList" :key="key">
<div class="van-hairline--bottom item-list" @click="goTo(item.to)">
<van-row>
<van-col span="12">{{ item.name }}</van-col>
<van-col span="12" style="text-align: right; color: #777777;">
<span v-if="!item.tag">{{ item.sum }} </span>
<span v-else>
<van-tag round color="red">{{ item.sum }}</van-tag>
</span>
<van-icon name="arrow" />
</van-col>
</van-row>
</div>
</template>
<div class="exit-btn" @click="exitLogin">退出登录</div>
<shortcut-fixed :type="USER_ROLE.BUSINESS" :item="['home']" />
</template>
<script setup>
import ShortcutFixed from '@/components/ShortcutFixed/index.vue'
import { icon_logo } from '@/utils/generateIcons';
import { USER_ROLE } from '@/constant'
import { ref} from 'vue'
import { useRouter } from 'vue-router'
import axios from '@/utils/axios';
import { Toast } from 'vant';
const $router = useRouter();
const myKgInfo = ref({});
let itemList = ref([])
axios.get('/srv/?a=my_kg')
.then(res => {
if (res.data.code === 1) {
myKgInfo.value = res.data.data;
// 有空格分割name
if (myKgInfo.value.name.indexOf(' ') > -1) {
myKgInfo.value.multi_name = myKgInfo.value.name.split(' ');
}
itemList.value = [
{
name: '幼儿园上传视频',
sum: res.data.data.mission_num,
to: '/business/myVideo'
},
{
name: '家长上传视频',
sum: res.data.data.prod_num,
tag: true,
to: '/business/auditVideo'
},
]
} else {
console.warn(res);
if (!res.data.show) return false;
Toast({
icon: 'close',
message: res.data.msg
});
}
})
.catch(err => {
console.error(err);
})
const goTo = (path) => { // 跳转作品详情页
$router.push({
path
});
}
// 退出登录
const exitLogin = () => {
axios.post('/srv/?a=b_logout')
.then(res => {
if (res.data.code === 1) {
$router.replace({
path: '/business/login'
});
} else {
console.warn(res);
if (!res.data.show) return false;
Toast({
icon: 'close',
message: res.data.msg
});
}
})
.catch(err => {
console.error(err);
})
}
</script>
<style lang="less" scoped>
.top-content {
// background-image: url('@images/bg@2x.png');
background-image: url('http://gyzs.onwall.cn/bg%402x.png');
background-size: cover;
padding: 1rem;
text-align: center;
.title {
margin-top: 1rem;
font-size: 1.05rem;
font-weight: bold;
}
}
.item-list {
padding: 1rem 0;
margin: 0 1rem;
}
.exit-btn {
position: absolute;
bottom: 0;
width: calc(100% - 2rem);
padding: 1rem;
background-color: red;
text-align: center;
color: white;
}
</style>