10 changed files with 140 additions and 34 deletions
@ -0,0 +1,122 @@ |
|||||
|
<!-- |
||||
|
Copyright (c) 2020. |
||||
|
author: song |
||||
|
email: 15235360226@163.com |
||||
|
--> |
||||
|
|
||||
|
<template> |
||||
|
<div v-if="newPartners && newPartners.length > 0"> |
||||
|
<div class="d-flex flex-wrap"> |
||||
|
<div |
||||
|
:class="(index + 1) % 3 === 0 ? 'enterprise-box1' : ''" |
||||
|
:key="index" |
||||
|
@click="openProfile(item.name, item.description)" |
||||
|
class="enterprise-box d-flex flex-column align-center white mb-8" |
||||
|
v-for="(item, index) in newPartners" |
||||
|
> |
||||
|
<img :src="item.logoUrl" class="enterprise-pic my-2" /> |
||||
|
<div class="font-bold-24 title-color my-2">{{ item.name }}</div> |
||||
|
<div class="font-16 textColor d-flex flex-wrap align-left fill-width enterprise-txt">{{ item.description }}</div> |
||||
|
<div class="d-flex flex-nowrap fill-width py-5 enterprise-more"> |
||||
|
<div class="flex-1"></div> |
||||
|
<span class="font-16 baseColor"> |
||||
|
了解更多 |
||||
|
<a-icon type="arrow-right" /> |
||||
|
</span> |
||||
|
</div> |
||||
|
</div> |
||||
|
<company-profile :show-profile="showProfile" @closeProfile="closeProfile" v-if="showProfile" /> |
||||
|
</div> |
||||
|
<div class="inner d-flex flex-row-reverse pb-10 enterprise-page"> |
||||
|
<a-pagination :default-page-size="6" :total="newPartners.length" @change="onChange" show-less-items v-model="current" /> |
||||
|
</div> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { mapState, mapMutations, mapActions } from 'vuex'; |
||||
|
import 'components/Introduce/PartnerShip.styl'; |
||||
|
import CompanyProfile from 'components/Introduce/CompanyProfile.vue'; |
||||
|
export default { |
||||
|
name: 'DeEnt', |
||||
|
components: { CompanyProfile }, |
||||
|
props: { |
||||
|
title: { |
||||
|
type: String, |
||||
|
default: '', |
||||
|
}, |
||||
|
typeOfPlatform: { |
||||
|
type: String, |
||||
|
default: '', |
||||
|
}, |
||||
|
}, |
||||
|
|
||||
|
data() { |
||||
|
return { |
||||
|
current: 1, |
||||
|
showProfile: false, // 显示公司介绍 |
||||
|
}; |
||||
|
}, |
||||
|
|
||||
|
computed: { |
||||
|
...mapState('home', ['partners', 'profile']), |
||||
|
|
||||
|
newPartners() { |
||||
|
let { partners } = this; |
||||
|
let arr = []; |
||||
|
if (partners && partners.length > 0) { |
||||
|
for (let i = 0; i < partners.length; i++) { |
||||
|
const element = partners[i]; |
||||
|
for (let j = 0; j < element.backendSearchList.length; j++) { |
||||
|
const item = element.backendSearchList[j]; |
||||
|
arr.push(item); |
||||
|
} |
||||
|
} |
||||
|
return arr; |
||||
|
} |
||||
|
return arr; |
||||
|
}, |
||||
|
}, |
||||
|
|
||||
|
async created() { |
||||
|
this.setPartners([]); |
||||
|
const { title, typeOfPlatform } = this; |
||||
|
const params = { |
||||
|
param: { |
||||
|
pageNum: this.current, |
||||
|
pageSize: 6, |
||||
|
type: title === '合作伙伴' ? 1 : 2, |
||||
|
typeOfPlatform: typeOfPlatform === '关于我们' ? 2 : 1, |
||||
|
}, |
||||
|
}; |
||||
|
await this.getFrontSearchCompany(params); |
||||
|
}, |
||||
|
|
||||
|
methods: { |
||||
|
...mapMutations('home', ['setPartners', 'setProfile']), |
||||
|
...mapActions('home', ['getFrontSearchCompany']), |
||||
|
|
||||
|
// 切换页数 |
||||
|
onChange(current) { |
||||
|
this.current = current; |
||||
|
}, |
||||
|
|
||||
|
// 介绍 |
||||
|
openProfile(title, description) { |
||||
|
this.setProfile(null); |
||||
|
const profile = { |
||||
|
title, |
||||
|
description, |
||||
|
}; |
||||
|
this.setProfile(profile); |
||||
|
this.showProfile = true; |
||||
|
}, |
||||
|
|
||||
|
closeProfile() { |
||||
|
this.showProfile = false; |
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
</script> |
||||
|
|
||||
|
<style lang="stylus" scoped></style> |
Loading…
Reference in new issue