diff --git a/src/assets/image/contactUs/bg2.png b/src/assets/image/contactUs/bg2.png
new file mode 100644
index 0000000..b893c26
Binary files /dev/null and b/src/assets/image/contactUs/bg2.png differ
diff --git a/src/components/el/industrySolutionsEl/el1.vue b/src/components/el/industrySolutionsEl/el1.vue
new file mode 100644
index 0000000..1cb346e
--- /dev/null
+++ b/src/components/el/industrySolutionsEl/el1.vue
@@ -0,0 +1,59 @@
+
+
+
+
+{{ data.title }}
+
+
+
+
+
+{{ data.value }}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/el/industrySolutionsEl/el2.vue b/src/components/el/industrySolutionsEl/el2.vue
new file mode 100644
index 0000000..49f398b
--- /dev/null
+++ b/src/components/el/industrySolutionsEl/el2.vue
@@ -0,0 +1,235 @@
+
+
+
+
+ {{ data.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+ {{ item.value }}
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/el/industrySolutionsEl/el3.vue b/src/components/el/industrySolutionsEl/el3.vue
new file mode 100644
index 0000000..cfe18aa
--- /dev/null
+++ b/src/components/el/industrySolutionsEl/el3.vue
@@ -0,0 +1,138 @@
+
+
+
+
+{{ data.title }}
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/contactUs/MediaCenter.vue b/src/views/contactUs/MediaCenter.vue
index 5f4debb..f27cdc7 100644
--- a/src/views/contactUs/MediaCenter.vue
+++ b/src/views/contactUs/MediaCenter.vue
@@ -27,7 +27,7 @@
11月26-27日,2024智能物流装备供应链集采大会监第十二次青浦圆桌会议在南陵举办。本次大会以"向新而行、以质致远、绿色发展、共创未来"为主题,200余家智能物流装备供应链企业参加,共同探讨智能物流装备领城...
- 查看
+ 查看详情
@@ -248,7 +248,7 @@ export default {
&::after {
position: absolute;
top: 50%;
- right: -1vw;
+ right: calc(-1vw + 1px);
width: 0;
height: 0;
border-top: 1vw solid transparent;
@@ -284,20 +284,21 @@ export default {
overflow: hidden;
color: #000;
font-size: 1.3vw;
- line-height: 1.25;
+ line-height: 1.6vw;
text-overflow: ellipsis;
white-space: nowrap;
+ font-weight: 600;
}
&__desc {
display: -webkit-box;
- min-height: calc(0.8vw * 1.5 * 3);
+ height: calc(1.5vw * 3);
margin-top: 1vw;
overflow: hidden;
color: #555;
font-size: 0.9vw;
text-indent: 2em;
- line-height: 1.5;
+ line-height: 1.5vw;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
}
@@ -307,15 +308,15 @@ export default {
align-items: center;
color: #3372fe;
font-size: 0.9vw;
- line-height: 1;
+ line-height: 1.2vw;
margin-top: 2vw;
cursor: pointer;
}
&__arrow {
- width: 0.45vw;
- height: 0.45vw;
- margin-left: 0.35vw;
+ width: 0.3vw;
+ height: 0.3vw;
+ margin-left: 0.1vw;
border-top: 0.12vw solid currentColor;
border-right: 0.12vw solid currentColor;
transform: rotate(45deg);
@@ -326,7 +327,7 @@ export default {
padding: 2vw 2vw 2vw 0;
display: block;
width: 30%;
- height: 100%;
+ height: calc(1.6vw + 1vw + calc(1.5vw * 3) + 2vw + 1.2vw);
flex: 0 0 30%;
object-fit: cover;
}
diff --git a/src/views/contactUs/enterpriseQualification.vue b/src/views/contactUs/enterpriseQualification.vue
index 3aa9a6e..d791096 100644
--- a/src/views/contactUs/enterpriseQualification.vue
+++ b/src/views/contactUs/enterpriseQualification.vue
@@ -4,7 +4,7 @@
- 合作伙伴
+ 企业资质
@@ -97,7 +97,9 @@ export default {
.bg {
width: 100%;
height: 23.3vw;
- background-color: @standard-color;
+ background-image: url('~@/assets/image/contactUs/bg2.png');
+ background-repeat: no-repeat;
+ background-size: cover;
position: absolute;
top: 0;
z-index: -1;
diff --git a/src/views/contactUs/index.vue b/src/views/contactUs/index.vue
index dbacadc..5c0d622 100644
--- a/src/views/contactUs/index.vue
+++ b/src/views/contactUs/index.vue
@@ -66,6 +66,8 @@ export default {
tabsActive: 0,
tabsList: [],
itemId: 3,
+ scrollRaf: null,
+ scrollEl: null,
data: {
banner: 'http://1.13.177.47:9665/statics/2025/07/24/mesnac_20250724093713A002.jpg',
tabsList: [
@@ -154,26 +156,37 @@ export default {
},
mounted() {
this.getData()
+ this.setActiveById(parseFloat(this.$route.query.id || '3'))
+ this.scrollEl = document.querySelector('#content')
+ if (this.scrollEl) {
+ this.scrollEl.addEventListener('scroll', this.handleScroll, {passive: true})
+ }
+ this.$nextTick(this.updateActiveByScroll)
+ },
+ beforeDestroy() {
+ if (this.scrollEl) {
+ this.scrollEl.removeEventListener('scroll', this.handleScroll)
+ this.scrollEl = null
+ }
+ if (this.scrollRaf) {
+ cancelAnimationFrame(this.scrollRaf)
+ this.scrollRaf = null
+ }
},
watch: {
'$route'() {
let id = parseFloat(this.$route.query.id || '3')
- if (id === 3) {
- this.tabsActive = 0
- }
- if (id === 8) {
- this.tabsActive = 1
- }
- if (id === 9) {
- this.tabsActive = 2
- }
- if (id === 10) {
- this.tabsActive = 3
- }
- this.itemId = id
+ this.setActiveById(id)
}
},
methods: {
+ setActiveById(id) {
+ const index = this.data.tabsList.findIndex(i => i.id === id)
+ if (index > -1) {
+ this.tabsActive = index
+ this.itemId = id
+ }
+ },
checkTabs(e, k) {
this.tabsActive = k
this.itemId = e.id
@@ -182,12 +195,37 @@ export default {
block: 'start'
})
},
+ handleScroll() {
+ if (this.scrollRaf) return
+ this.scrollRaf = requestAnimationFrame(() => {
+ this.updateActiveByScroll()
+ this.scrollRaf = null
+ })
+ },
+ updateActiveByScroll() {
+ const tabsEl = this.$el.querySelector('.tabs')
+ const offsetTop = tabsEl ? tabsEl.getBoundingClientRect().bottom + 1 : 0
+ let activeIndex = this.tabsActive
+
+ this.data.tabsList.forEach((item, index) => {
+ const el = document.querySelector('#item' + item.id)
+ if (el && el.getBoundingClientRect().top <= offsetTop) {
+ activeIndex = index
+ }
+ })
+
+ if (activeIndex !== this.tabsActive) {
+ this.tabsActive = activeIndex
+ this.itemId = this.data.tabsList[activeIndex].id
+ }
+ },
getData() {
getAboutUsInfo().then(e => {
this.banner = e.data?.[0]?.aboutUsInfoPic
this.bannerTitle = e.data?.[0]?.aboutUsInfoDesc
this.tabsList = e.data.slice(1, e.data.length)
console.log(this.tabsList)
+ this.$nextTick(this.updateActiveByScroll)
})
}
}
diff --git a/src/views/page/index.vue b/src/views/page/index.vue
index f0940f5..588fd41 100644
--- a/src/views/page/index.vue
+++ b/src/views/page/index.vue
@@ -9,7 +9,8 @@
-
+
@@ -29,6 +30,9 @@
+
+
+
@@ -56,6 +60,9 @@ import EditEl14 from "@/components/el/el14.vue";
import EditEl15 from "@/components/el/el15.vue";
import EditEl16 from "@/components/el/el16.vue";
import EditEl17 from "@/components/el/el17.vue";
+import IndustrySolutionsEl1 from "@/components/el/industrySolutionsEl/el1.vue";
+import IndustrySolutionsEl2 from "@/components/el/industrySolutionsEl/el2.vue";
+import IndustrySolutionsEl3 from "@/components/el/industrySolutionsEl/el3.vue";
import Copyright from '@/components/copyright'
import ContactUs from "@/views/index/contactUs.vue";
@@ -90,6 +97,9 @@ export default {
EditEl15,
EditEl16,
EditEl17,
+ IndustrySolutionsEl1,
+ IndustrySolutionsEl2,
+ IndustrySolutionsEl3,
},
props: ["id"],
data() {
@@ -124,7 +134,7 @@ export default {