Merge branch 'feature/开门红专区' into dev

# Conflicts:
#	src/api/ebiz/goodStart/index.js
#	src/router/ebiz/goodStart.js
This commit is contained in:
mengxiaolong
2020-11-16 18:30:57 +08:00
3 changed files with 84 additions and 13 deletions

View File

@@ -1,8 +1,15 @@
// 开门红专区
const Prefecture = () => import('@/views/ebiz/goodStart/Prefecture')
const Treasure = () => import('@/views/ebiz/goodStart/Treasure')
// 开门红业绩排名
const PerformanceReport = () => import('@/views/ebiz/goodStart/PerformanceReport')
const TreasureDetail = () => import('@/views/ebiz/goodStart/TreasureDetail')
const spreadParams = function(route) {
const params = {}
for (let key in route.query) {
params[key] = route.query[key]
}
return params
}
export default [
{
@@ -22,11 +29,9 @@ export default [
}
},
{
path: '/goodStart/performanceReport',
name: 'PerformanceReport',
component: PerformanceReport,
meta: {
title: '开门红业绩排名'
}
path: '/goodStart/treasureDetail',
name: 'TreasureDetail',
component: TreasureDetail,
props: route => spreadParams(route)
}
]

View File

@@ -1,22 +1,63 @@
<template>
<div>
<img :src="treasureDetail" />
<div class="treasure bg-white">
<van-grid :border="false">
<van-grid-item v-for="(menu, index) in menus" :key="index" @click="toDetail(menu)">
<img :src="$assetsUrl + menu.iconUrl" />
<span>{{ menu.name }}</span>
</van-grid-item>
</van-grid>
</div>
</template>
<script>
import treasureDetail from '@/assets/images/goodStart/treasureDetail.png'
import { Grid, GridItem } from 'vant'
import { getTreasureMenus } from '@/api/ebiz/goodStart'
export default {
name: 'Treasure',
components: {
[Grid.name]: Grid,
[GridItem.name]: GridItem
},
data() {
return {
treasureDetail
menus: []
}
},
methods: {
toDetail(menu) {
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#/goodStart/treasureDetail?img=${menu.detailImgUrl}`
},
routerInfo: {
path: `/goodStart/treasureDetail?img=${menu.detailImgUrl}`
}
})
},
async getMenus() {
const param = { operateType: 'treasure_menus' }
const result = await getTreasureMenus(param)
console.dir(result)
if (result.result === '0') {
this.menus = result.content
} else {
this.$toast(result.resultMessage)
}
}
},
mounted() {
this.getMenus()
}
}
</script>
<style lang="scss" scoped>
.treasure {
min-height: 100vh;
}
img {
max-width: 100%;
max-width: 80%;
}
</style>

View File

@@ -0,0 +1,25 @@
<template>
<div>
<img :src="$assetsUrl + img" />
</div>
</template>
<script>
export default {
name: 'TreasureDetail',
props: {
img: {
type: String
}
},
data() {
return {}
}
}
</script>
<style lang="scss" scoped>
img {
max-width: 100%;
}
</style>