You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

240 lines
4.8 KiB
Vue

10 months ago
<template>
<div>
<div class="banner">
<el-image
style="width: 100%; height: 100%;position:absolute;top: 0;left: 0;"
:src="banner"
fit="contain"></el-image>
<div class="bannerInfo">
青岛海威物联科技有限公司致力于工业物联网软硬件系统研发生产和销售提供感知互联的工业化联网整体解决方案
</div>
</div>
<div style="width: 75vw;margin:0 auto;margin-top: 2vw; ">
<template v-for="i in tabsList">
<div class="card">
<!-- 左侧图片 -->
<div class="card-img">
<img src="http://1.13.177.47:9665/statics/2025/07/24/mesnac_20250724093713A002.jpg" alt="语音拣选">
</div>
<!-- 右侧内容 -->
<div class="card-content">
<h3 class="card-title">{{ i.title }}</h3>
<p class="card-subtitle">{{ i.value }}</p>
<p class="card-desc">{{ i.info }}</p>
<div class="card-arrow" @click="$router.push('/test?id=' + i.id)">
<!-- <i class="arrow"></i>-->
</div>
</div>
</div>
</template>
</div>
<ContactUs class="contactUs"/>
<Copyright class="copyright"/>
</div>
</template>
<script>
import ContactUs from '@/components/contactUs'
import Copyright from '@/components/copyright'
import {selectMenuTree} from "@/api/hwWebMenu";
export default {
name: 'ContactUs1',
components: {
ContactUs,
Copyright
},
data() {
return {
banner:'http://1.13.177.47:9665/statics/2025/07/24/mesnac_20250724093713A002.jpg',
bannerTitle: '',
tabsActive: 0,
tabsList: [{
title:'智能轮胎',
value:'智能轮胎介绍',
info:'智能轮胎信息',
}],
}
},
mounted() {
this.getData()
},
methods: {
getData() {
selectMenuTree().then(e=>{
let data = e.data.find(v=>v.webMenuId ===4)?.children
this.tabsList = data.map(v=>{
return {
title:v.webMenuName,
value:v.webMenuName+'介绍',
info:v.webMenuName+'信息',
id:v.webMenuId
}
})
console.log(data)
})
}
}
}
</script>
<style lang="less" scoped>
@import "~@/style.less";
.banner {
width: 100%;
height: 35.5vw;
position: relative;
.bannerInfo {
position: absolute;
top: 35%;
left: 19%;
width: 45%;
text-align: left;
font-size: 1.4vw;
color: @standard-color;
line-height: 2.5vw;
letter-spacing: 4px;
word-break: break-all;
}
.bannerBtn {
position: absolute;
top: 58%;
left: 19%;
width: 11.5vw;
font-size: 1.2vw;
line-height: 2vw;
letter-spacing: 2px;
}
.tabs {
position: absolute;
bottom: 0;
width: 100%;
background: linear-gradient(to bottom, fade(@standard-color, 10), fade(#fff, 10));
backdrop-filter: saturate(50%) blur(4px);
.content {
width: 62%;
position: relative;
left: 50%;
bottom: 0;
transform: translateX(-50%);
.tab {
display: inline-block;
width: 25%;
line-height: 6.2vw;
font-size: 1.6vw;
letter-spacing: 3px;
}
.tab.active {
color: @standard-color;
width: calc(25% - 2px);
border: 1px solid #fff;
box-shadow: 0 0 3px #0002;
}
}
}
}
.companyProfile {
width: 100%;
}
.enterpriseQualification {
width: 100%;
position: relative;
}
.teamStyle {
width: 100%;
}
.contactUs {
width: 100%;
background-color: #2e445c;
}
.copyright {
width: 100%;
background-color: #1d3348;
}
.card{
width: calc(31% - 2px);
display: inline-block;
height: 400px;
position: relative;
border: 1px solid #0001;
&:nth-child(3n){
margin-left: 2%;
}
&:nth-child(3n- 1){
margin-left: 2%;
}
.card-img{
position: absolute;
opacity: 0.4;
width: 40%;
height: 100%;
top: 0;
left: 0;
img{
width: 100%;
height: 100%;
//object-fit: contain;
}
}
.card-title{
position: absolute;
left: 20%;
top: 40px;
font-size: 24px;
}
.card-subtitle{
position: absolute;
left: 20%;
top: 80px;
width: 70%;
font-size: 18px;
text-align: left;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.card-desc{
width: 70%;
position: absolute;
left: 20%;
top: 120px;
text-align: left;
font-size: 14px;
color: #0005;
}
.card-arrow{
position: absolute;
right: 30px;
bottom: 30px;
height: 20px;
width: 20px;
border: 2px solid #0009;
border-radius: 50%;
padding: 8px;
line-height: 17px;
transition: all 0.3s;
cursor: pointer;
&:hover{
background-color: #409EFF;
color:#fff;
border-color: #fff
}
}
}
</style>