修改菜单显示

master
夜笙歌 6 months ago
parent d79b37f455
commit 34cf02acaf

@ -24,3 +24,11 @@ export function getProductCenterProductInfos(query) {
params: query params: query
}) })
} }
export function getProductCenterProductDetailInfo(query) {
return request({
url: '/portal/portal/getProductCenterProductDetailInfos',
method: 'get',
params: query
})
}

@ -131,13 +131,29 @@ export default {
pageNum: 1, pageNum: 1,
pageSize: 111 pageSize: 111
}).then(e => { }).then(e => {
// this.menuList[1].children = e.rows.map(v => { console.log(e)
// return { this.menuList[1].children = e.rows.map(v => {
// name: v.configTypeName, return {
// icon: v.homeConfigTypePic, name: v.configTypeName,
// path: '' icon: v.configTypeIcon,
// } path: '/productCenter/industrialInternet?portalConfigTypeId='+v.configTypeId
// }) }
})
})
getPortalConfigTypeList({
configTypeClassfication: 2,
parentId: 0,
pageNum: 1,
pageSize: 111
}).then(e => {
console.log(e)
this.menuList[2].children = e.rows.map(v => {
return {
name: v.configTypeName,
icon: v.configTypeIcon,
path: '/casesAndClients/IOT?portalConfigTypeId='+v.configTypeId
}
})
}) })
} }
} }

@ -9,7 +9,8 @@
<el-button type="primary" class="bannerBtn">免费体验</el-button> <el-button type="primary" class="bannerBtn">免费体验</el-button>
<div class="tabs"> <div class="tabs">
<div class="content"> <div class="content">
<div v-for="(i,k) in tabsList" @click="checkTabs(i,k)" :class="`tab ${tabsActive === k ? 'active':''}`"> <div v-for="(i,k) in tabsList" @click="checkTabs(i,k)" :class="`tab ${tabsActive === k ? 'active':''}`"
:style="`width:${tabsActive === k ? `calc(${100/tabsList.length}% - 3px)`:`${100/tabsList.length}%`}`">
{{ i.configTypeName }} {{ i.configTypeName }}
</div> </div>
</div> </div>
@ -36,7 +37,7 @@
</span> </span>
</div> </div>
</div> </div>
<div v-if="i%2 === 0" class="item2"> <div v-if="k%2 === 0" class="item2">
<div class="left"> <div class="left">
<el-image <el-image
style="width: 100%; height: 100%;" style="width: 100%; height: 100%;"
@ -83,6 +84,11 @@ export default {
configTypeId: 0, configTypeId: 0,
} }
}, },
watch: {
'$route'() {
this.getData()
}
},
mounted() { mounted() {
this.getData() this.getData()
}, },
@ -102,7 +108,7 @@ export default {
}, },
getData() { getData() {
getPortalConfigTypeList({ getPortalConfigTypeList({
parentId: 8, parentId: this.$route.query.portalConfigTypeId,
pageNum: 1, pageNum: 1,
pageSize: 10 pageSize: 10
}).then(e => { }).then(e => {

@ -102,7 +102,7 @@ export default {
width: 78%; width: 78%;
left: 50%; left: 50%;
height: 11vw; height: 11vw;
overflow: hidden; //overflow: hidden;
-webkit-transform: translateX(-50%); -webkit-transform: translateX(-50%);
transform: translateX(-50%); transform: translateX(-50%);
letter-spacing: 2.5px; letter-spacing: 2.5px;

@ -2,10 +2,14 @@
<div> <div>
<el-carousel trigger="click" style="height:100%"> <el-carousel trigger="click" style="height:100%">
<el-carousel-item v-for="item in bannerList" :key="item"> <el-carousel-item v-for="item in bannerList" :key="item">
<el-image <div style="position: relative">
style="width: 100%;height: 100%" <el-image
:src="item" style="width: 100%;height: 100%"
fit="contain"></el-image> :src="item.portalConfigPic"
fit="contain"></el-image>
<div class="title">{{ item.portalConfigTitle }}</div>
<div class="subTitle">{{ item.portalConfigDesc }}</div>
</div>
</el-carousel-item> </el-carousel-item>
</el-carousel> </el-carousel>
</div> </div>
@ -31,7 +35,7 @@ export default {
pageNum:1, pageNum:1,
pageSize:100 pageSize:100
}).then(e=>{ }).then(e=>{
this.bannerList = e.rows.map(v=>v.portalConfigPic) this.bannerList = e.rows
}) })
} }
}, },
@ -39,6 +43,7 @@ export default {
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
@import "~@/style.less";
/deep/ .el-carousel__container { /deep/ .el-carousel__container {
height: 100%; height: 100%;
@ -63,4 +68,24 @@ export default {
/deep/ .el-carousel__indicators--horizontal { /deep/ .el-carousel__indicators--horizontal {
bottom: 5%; bottom: 5%;
} }
.title{
position: absolute;
top: 43.7%;
left: 37.7%;
transform: translate(-50%, -50%);
font-weight: 700;
color: #3372ff;
font-size: 2.2vw;
letter-spacing: 6.1px;
}
.subTitle{
position: absolute;
top: 56%;
left: 38.7%;
transform: translate(-50%, -50%);
color: #3372ff;
font-size: 1.3vw;
letter-spacing: 2.3px;
white-space: nowrap;
}
</style> </style>

@ -7,9 +7,10 @@
fit="contain"></el-image> fit="contain"></el-image>
<div class="bannerInfo">{{ bannerTitle }}</div> <div class="bannerInfo">{{ bannerTitle }}</div>
<el-button type="primary" class="bannerBtn">免费体验</el-button> <el-button type="primary" class="bannerBtn">免费体验</el-button>
<div class="tabs"> <div class="tabs" v-if="$route.query.portalConfigTypeId === '4'">
<div class="content"> <div class="content">
<div v-for="(i,k) in tabsList" @click="checkTabs(i,k)" :class="`tab ${tabsActive === k ? 'active':''}`"> <div v-for="(i,k) in tabsList" @click="checkTabs(i,k)" :class="`tab ${tabsActive === k ? 'active':''}`"
:style="`width:${tabsActive === k ? `calc(${100/tabsList.length}% - 3px)`:`${100/tabsList.length}%`}`">
{{ i.configTypeName }} {{ i.configTypeName }}
</div> </div>
</div> </div>
@ -33,10 +34,10 @@
</div> </div>
</div> </div>
<div v-if="tabsActive === 1"> <div v-if="tabsActive === 1">
<div v-for="i in contentList"> <div v-for="(i, k) in contentList">
<HighFrequencyRFID class="highFrequencyRFID" v-if="i.configModal === '8'" :data="i"/> <HighFrequencyRFID class="highFrequencyRFID" v-if="i.configModal === '8' && k===0" :data="i"/>
<UltraHighFrequencyRFID class="ultraHighFrequencyRFID" v-if="i.configModal === '9'" :data="i"/> <UltraHighFrequencyRFID class="ultraHighFrequencyRFID" v-if="i.configModal === '9' && k===1" :data="i"/>
<DataAcquisitionSensing class="dataAcquisitionSensing" v-if="i.configModal === '10'" :data="i"/> <DataAcquisitionSensing class="dataAcquisitionSensing" v-if="i.configModal === '9' && k===2" :data="i"/>
</div> </div>
</div> </div>
<ContactUs class="contactUs"/> <ContactUs class="contactUs"/>
@ -88,10 +89,16 @@ export default {
mounted() { mounted() {
this.getData() this.getData()
}, },
watch: {
'$route'() {
this.getData()
}
},
methods: { methods: {
getContentList(id) { getContentList(id) {
getProductCenterProductInfos({ getProductCenterProductInfos({
configTypeId: id configTypeId: id,
parentId: 0
}).then(e => { }).then(e => {
this.contentList = e.data.sort((a, b) => a.productInfoOrder - b.productInfoOrder) this.contentList = e.data.sort((a, b) => a.productInfoOrder - b.productInfoOrder)
console.log(this.contentList) console.log(this.contentList)
@ -103,9 +110,10 @@ export default {
this.getContentList(i.configTypeId) this.getContentList(i.configTypeId)
}, },
getData() { getData() {
console.log(this.$route.query)
getPortalConfigList({ getPortalConfigList({
portalConfigType: 2, portalConfigType: 2,
portalConfigTypeId: 4, portalConfigTypeId: this.$route.query.portalConfigTypeId,
pageNum: 1, pageNum: 1,
pageSize: 5 pageSize: 5
}).then(e => { }).then(e => {
@ -113,7 +121,7 @@ export default {
this.bannerTitle = e.rows?.[0]?.portalConfigDesc this.bannerTitle = e.rows?.[0]?.portalConfigDesc
}) })
getPortalConfigTypeList({ getPortalConfigTypeList({
parentId: 4, parentId: this.$route.query.portalConfigTypeId,
pageNum: 1, pageNum: 1,
pageSize: 50 pageSize: 50
}).then(e => { }).then(e => {

@ -6,24 +6,24 @@
</TitleGroup> </TitleGroup>
<div class="tabs"> <div class="tabs">
<el-tabs v-model="activeName" @tab-click="handleClick"> <el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane :name="`${k}`" :label="i.productInfoDetailTitle" v-for="(i,k) in data.hwProductInfoDetailList"> <el-tab-pane :name="`${i.productInfoDetailId}`" :label="i.productInfoDetailTitle" v-for="(i,k) in data.hwProductInfoDetailList">
<transition name="fade"> <transition name="fade">
<div v-if="activeName === `${k}`" style="position:relative;"> <div v-if="activeName === `${i.productInfoDetailId}`" style="position:relative;">
<div class="content"> <div class="content">
<div class="left"> <div class="left">
<div class="itemTitle">{{ i.productInfoDetailDesc }}</div> <div class="itemTitle">{{ (info[0]||{}).productInfoDetailTitle }}</div>
<div class="itemCode">HW-RFR-050-B-003-B1204S</div> <div class="itemCode">{{ (info[0]||{}).productInfoDetailDesc }}</div>
<div class="image"> <div class="image">
<el-image <el-image
style="width: 100%; height: 100%" style="width: 100%; height: 100%"
:src="i.productInfoDetailPic" :src="(info[0]||{}).productInfoDetailPic"
fit="contain"></el-image> fit="contain"></el-image>
</div> </div>
</div> </div>
<div class="right"> <div class="right">
<div class="infos" v-for="i in 7"> <div class="infos" v-for="i in info.filter(e=>!e.productInfoDetailPic)">
<div class="infoTitle">射频协议</div> <div class="infoTitle">{{ i.productInfoDetailTitle }}</div>
<div class="infoNum">符合ISO/IEC 13.56MHZ</div> <div class="infoNum">{{ i.productInfoDetailDesc }}</div>
</div> </div>
</div> </div>
</div> </div>
@ -38,6 +38,7 @@
<script> <script>
import TitleGroup from "@/components/TitleGroup"; import TitleGroup from "@/components/TitleGroup";
import banner from '@/assets/image/banner.png' import banner from '@/assets/image/banner.png'
import {getProductCenterProductDetailInfo} from "@/api/productCenter";
export default { export default {
name: 'HighFrequencyRFID', name: 'HighFrequencyRFID',
@ -48,10 +49,24 @@ export default {
data() { data() {
return { return {
banner, banner,
activeName: '0' activeName: '0',
info:[]
} }
}, },
methods: {} mounted() {
this.activeName = `${this.data.hwProductInfoDetailList[0].productInfoDetailId}`
console.log(this.data.hwProductInfoDetailList)
getProductCenterProductDetailInfo({parentId:this.data.hwProductInfoDetailList[0].productInfoDetailId}).then(v=>{
this.info = v.data
})
},
methods: {
handleClick(e){
getProductCenterProductDetailInfo({parentId:e.name}).then(v=>{
this.info = v.data
})
}
}
} }
</script> </script>

@ -5,16 +5,16 @@
<template slot="subTitle">{{ data.productInfoCtitle }}</template> <template slot="subTitle">{{ data.productInfoCtitle }}</template>
</TitleGroup> </TitleGroup>
<div class="tabs"> <div class="tabs">
<el-tabs v-model="activeName"> <el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane :name="`${k}`" :label="i.productInfoDetailTitle" v-for="(i,k) in data.hwProductInfoDetailList"> <el-tab-pane :name="`${i.productInfoDetailId}`" :label="i.productInfoDetailTitle" v-for="(i,k) in data.hwProductInfoDetailList">
<transition name="fade"> <transition name="fade">
<div v-if="activeName === `${k}`" style="position:relative;"> <div v-if="activeName === `${i.productInfoDetailId}`" style="position:relative;">
<div class="content"> <div class="content">
<div class="contentInfo"> <div class="contentInfo">
{{ i.productInfoDetailDesc }} {{ i.productInfoDetailDesc }}
</div> </div>
<div class="list"> <div class="list">
<div class="item" v-for=" i in 8"> <div class="item" v-for=" i in info">
<div class="image"> <div class="image">
<el-image <el-image
style="width: 100%; height: 100%;" style="width: 100%; height: 100%;"
@ -22,7 +22,7 @@
fit="contain"></el-image> fit="contain"></el-image>
</div> </div>
<div class="info"> <div class="info">
RFID通道门具有窄波束高增益特点适用于超高频门禁通道类物流仓储人员图书档案馆医疗系统设备资产等应用 {{ i.productInfoDetailDesc }}
</div> </div>
</div> </div>
</div> </div>
@ -38,6 +38,7 @@
<script> <script>
import TitleGroup from "@/components/TitleGroup"; import TitleGroup from "@/components/TitleGroup";
import banner from '@/assets/image/banner.png' import banner from '@/assets/image/banner.png'
import {getProductCenterProductDetailInfo} from "@/api/productCenter";
export default { export default {
name: 'HighFrequencyRFID', name: 'HighFrequencyRFID',
@ -48,10 +49,23 @@ export default {
data() { data() {
return { return {
banner, banner,
info:[],
activeName: '1' activeName: '1'
} }
}, },
methods: {} mounted() {
this.activeName = `${this.data.hwProductInfoDetailList[0].productInfoDetailId}`
getProductCenterProductDetailInfo({parentId:this.data.hwProductInfoDetailList[0].productInfoDetailId}).then(v=>{
this.info = v.data
})
},
methods: {
handleClick(e){
getProductCenterProductDetailInfo({parentId:e.name}).then(v=>{
this.info = v.data
})
}
}
} }
</script> </script>
@ -117,6 +131,7 @@ export default {
display: inline-block; display: inline-block;
box-shadow: 0 0 3px #0002; box-shadow: 0 0 3px #0002;
margin-bottom: 1.4vw; margin-bottom: 1.4vw;
vertical-align: top;
.image { .image {
width: 100%; width: 100%;

Loading…
Cancel
Save