修改自定义页面

master
夜笙歌 4 months ago
parent fb07446037
commit 4e3d788288

@ -104,12 +104,16 @@ export default {
this.$router.push('/contactUs')
}else if (id === 4){
this.$router.push('/industrySolutions')
} else if (id === 24) {
this.$router.push('/serviceSupport')
} else if (id === 1) {
this.$router.push('/index')
} else if (e.ancestors.split(',').includes("2")) {
this.$router.push('/contactUs#item' + id)
} else if (e.ancestors.split(',').includes("7")) {
this.$router.push('/productCenter#item' + id)
} else if (e.ancestors.split(',').includes("24")) {
this.$router.push('/serviceSupport?type=' + id)
}else{
this.$router.push('/test?id=' + id)
}

@ -25,7 +25,6 @@ export default new Router({
},
{
path: 'productCenter', component: () => import('@/views/productCenter/index.vue'),
},
{
path: 'industrySolutions', component: () => import('@/views/industrySolutions/index.vue'),
@ -52,6 +51,10 @@ export default new Router({
{
path: '/industryPlan/detail', component: () => import('@/views/productInfo.vue'),
},
{
path: '/serviceSupport',
component: () => import('@/views/serviceSupport/index.vue'),
},
]
// children: [
// {

@ -0,0 +1,171 @@
<template>
<div>
<TitleGroup>
<template slot="title">DOWNLOAD THE MATERIALS</template>
<template slot="subTitle"> 资料下载</template>
</TitleGroup>
<div class="content">
<el-form ref="form" :inline="true" :model="form" label-width="80px">
<el-form-item label="资料类型" style="width: 45%">
<el-cascader
v-model="value"
:options="options"
@change="handleChange"></el-cascader>
</el-form-item>
</el-form>
<div>
<div v-for="i in fileList" class="fileCard">
<div class="cardTitle">{{ i.name }}</div>
<div class="cardValue">{{ i.value }}</div>
<el-button @click="downFile(i)" type="primary" class="downIcon" icon="el-icon-download " circle></el-button>
</div>
</div>
</div>
</div>
</template>
<script>
import TitleGroup from "@/components/TitleGroup";
export default {
name: 'PlatformIntroduction',
props: ['data'],
components: {
TitleGroup
},
data() {
return {
value: ["zhinan", "yingjian"],
options: [
{
value: 'zhinan',
label: '指南',
children: [
{
value: 'yingjian',
label: '硬件',
},
{
value: 'ruanjian',
label: '软件',
},
]
},
{
value: 'wendang',
label: '文档',
children: [
{
value: 'yingjian',
label: '硬件',
},
{
value: 'ruanjian',
label: '软件',
},
]
},
],
fileList: [
{
name: '操作指南',
value: '硬件操作指南',
url: ''
},
{
name: '操作指南',
value: '硬件操作指南',
url: ''
},
{
name: '操作指南',
value: '硬件操作指南',
url: ''
},
]
}
},
mounted() {
},
methods: {
handleChange(value) {
console.log(value);
},
downFile(e) {
const blob = new Blob([''], {type: 'text/plain'});
//
const link = document.createElement('a');
link.href = URL.createObjectURL(blob);
link.download = '文档.txt'; //
//
link.click();
//
URL.revokeObjectURL(link.href);
}
}
}
</script>
<style lang="less" scoped>
@import "~@/style.less";
.content {
display: inline-block;
width: 62vw;
//height: 20.1vw;
margin-top: 3.7vw;
margin-bottom: 5.2vw;
vertical-align: top;
text-align: left;
.fileCard {
display: inline-block;
width: 40%;
height: 100px;
border: 1px solid #ccc;
border-radius: 10px;
margin-top: 1vw;
position: relative;
.cardTitle {
position: absolute;
top: 10px;
left: 20px;
font-size: 22px;
font-weight: 700;
line-height: 45px;
width: calc(100% - 80px);
white-space: nowrap; /* 不换行 */
overflow: hidden; /* 超出部分隐藏 */
text-overflow: ellipsis; /* 超出部分显示省略号 */
}
.cardValue {
position: absolute;
top: 55px;
width: calc(100% - 80px);
left: 20px;
font-size: 14px;
line-height: 45px;
color: #aaa;
white-space: nowrap; /* 不换行 */
overflow: hidden; /* 超出部分隐藏 */
text-overflow: ellipsis; /* 超出部分显示省略号 */
}
.downIcon {
position: absolute;
right: 20px;
top: 50%;
transform: translateY(-50%);
}
&:nth-child(2n) {
margin-left: 5%;
}
}
}
</style>

@ -0,0 +1,181 @@
<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 class="tabs">
<div class="content">
<div @click="checkTabs(i,k)" :class="`tab ${tabsActive === k ? 'active':''}`" v-for="(i,k) in data.tabsList">
{{ i.title }}
</div>
</div>
</div>
</div>
<preSale v-if='tabsActive===0'/>
<DownloadTheMaterials v-if='tabsActive===1'/>
<ContactUs class="contactUs"/>
<Copyright class="copyright"/>
</div>
</template>
<script>
import preSale from './preSale.vue'
import DownloadTheMaterials from './downloadTheMaterials.vue'
import ContactUs from '@/components/contactUs'
import Copyright from '@/components/copyright'
import {getAboutUsInfo} from "@/api/contactUs";
export default {
name: 'ContactUs1',
components: {
ContactUs,
Copyright,
preSale,
DownloadTheMaterials
},
data() {
return {
banner: '',
bannerTitle: '',
tabsActive: 1,
tabsList: [],
data: {
banner: 'http://1.13.177.47:9665/statics/2025/07/24/mesnac_20250724093713A002.jpg',
tabsList: [
{
type: 100,
title: '联系我们'
},
{
type: 1001,
title: '资料下载'
},
]
}
}
},
watch: {
'$route'() {
console.log(12312)
let id = this.$route.query.type || '25'
if (id === '25' || id === '26') {
this.tabsActive = 0
} else if (id === '27') {
this.tabsActive = 1
} else {
this.tabsActive = 0
}
}
},
mounted() {
this.getData()
let id = this.$route.query.type || '25'
if (id === '25' || id === '26') {
this.tabsActive = 0
}
if (id === '27') {
this.tabsActive = 1
}
},
methods: {
checkTabs(e, k) {
this.tabsActive = k
document.querySelector('#item' + e.id).scrollIntoView();
},
getData() {
}
}
}
</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;
}
</style>

@ -0,0 +1,80 @@
<template>
<div>
<TitleGroup>
<template slot="title">CONTACT US</template>
<template slot="subTitle"> 联系我们</template>
</TitleGroup>
<div class="content">
<el-form ref="form" :inline="true" :model="form" label-width="80px" label-position="top">
<el-form-item label="联系人姓名" style="width: 45%">
<el-input v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="联系电话 " style="width: 45%">
<el-input v-model="form.phone"></el-input>
</el-form-item>
<el-form-item label="公司名称 " style="width: 45%">
<el-input v-model="form.company"></el-input>
</el-form-item>
<el-form-item label="咨询设备名称 " style="width: 45%">
<el-input v-model="form.deviceName"></el-input>
</el-form-item>
<el-form-item label="需求信息/故障描述" style="width: 100%">
<el-input type="textarea" v-model="form.value"></el-input>
</el-form-item>
<br>
<el-form-item style="text-align: center;width: 100%">
<el-button type="primary" @click="onSubmit"></el-button>
<el-button @click="form={}"></el-button>
</el-form-item>
</el-form>
</div>
</div>
</template>
<script>
import TitleGroup from "@/components/TitleGroup";
export default {
name: 'PlatformIntroduction',
props: ['data'],
components: {
TitleGroup
},
data() {
return {
form: {
name: '',
region: '',
date1: '',
date2: '',
delivery: false,
type: [],
resource: '',
desc: ''
}
}
},
mounted() {
},
methods: {
onSubmit() {
console.log('submit!');
}
}
}
</script>
<style lang="less" scoped>
@import "~@/style.less";
.content {
display: inline-block;
width: 62vw;
//height: 20.1vw;
border: 1px solid #ccc3;
margin-top: 3.7vw;
margin-bottom: 5.2vw;
vertical-align: top;
text-align: left;
}
</style>
Loading…
Cancel
Save