This commit is contained in:
ping 2026-07-02 15:29:30 +08:00
commit 8a8e841c7f
4 changed files with 216 additions and 205 deletions

View File

@ -1072,9 +1072,9 @@ export default Vue.extend({
background: transparent; background: transparent;
color: #333; color: #333;
cursor: pointer; cursor: pointer;
font-size: 15px !important; font-size: 17px !important;
font-weight: 500; font-weight: 700;
line-height: 36px; // line-height: 36px
transition: color 0.2s ease; transition: color 0.2s ease;
&:hover { &:hover {

View File

@ -3,7 +3,7 @@
<el-dialog <el-dialog
title="联系销售" title="联系销售"
:visible="dialogVisible" :visible="dialogVisible"
width="620px" width="580px"
center center
append-to-body append-to-body
:close-on-click-modal="false" :close-on-click-modal="false"
@ -29,10 +29,10 @@
<el-form-item prop="phone" label="联系人手机"> <el-form-item prop="phone" label="联系人手机">
<el-input v-model="addData.phone" placeholder="请输入联系人手机"></el-input> <el-input v-model="addData.phone" placeholder="请输入联系人手机"></el-input>
</el-form-item> </el-form-item>
<el-form-item v-show="addData.custom_type==='1'" label="公司名称"> <el-form-item v-show="addData.custom_type==='1'" label="公司名称" class="form-item--compact">
<el-input v-model="addData.company" placeholder="请输入公司名称"></el-input> <el-input v-model="addData.company" placeholder="请输入公司名称"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="联系人邮箱"> <el-form-item label="联系人邮箱" class="form-item--compact">
<el-input v-model="addData.email" placeholder="请输入联系人邮箱"></el-input> <el-input v-model="addData.email" placeholder="请输入联系人邮箱"></el-input>
</el-form-item> </el-form-item>
</div> </div>
@ -179,7 +179,7 @@ export default Vue.extend({
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
padding: 22px 28px 8px; padding: 18px 22px 6px;
border: none; border: none;
} }
@ -197,7 +197,7 @@ export default Vue.extend({
} }
::v-deep .el-dialog__body { ::v-deep .el-dialog__body {
padding: 8px 28px 6px; padding: 6px 22px 4px;
} }
::v-deep .el-form-item__label { ::v-deep .el-form-item__label {
@ -239,20 +239,28 @@ export default Vue.extend({
.talk-body { .talk-body {
position: relative; position: relative;
min-height: 470px; min-height: 430px;
padding-bottom: 8px;
} }
.talk-form { .talk-form {
min-width: 0; min-width: 0;
padding-right: 178px; padding-right: 0;
} }
.form-grid { .form-grid {
display: block; display: block;
} }
.form-item--compact {
width: calc(100% - 164px);
}
.agreement-checkbox { .agreement-checkbox {
margin-top: 4px; margin-top: 8px;
max-width: calc(100% - 164px);
display: inline-flex;
align-items: center;
::v-deep .el-checkbox__label { ::v-deep .el-checkbox__label {
color: #6b7280; color: #6b7280;
@ -260,15 +268,19 @@ export default Vue.extend({
line-height: 1.7; line-height: 1.7;
white-space: normal; white-space: normal;
} }
::v-deep .el-checkbox__input {
align-self: center;
}
} }
.qcode { .qcode {
width: 150px; width: 140px;
min-height: 174px; min-height: 162px;
padding: 14px 12px; padding: 12px 10px;
position: absolute; position: absolute;
right: 0; right: 0;
bottom: 0; bottom: 8px;
border-radius: 18px; border-radius: 18px;
background: linear-gradient(180deg, #f4f8ff 0%, #ffffff 100%); background: linear-gradient(180deg, #f4f8ff 0%, #ffffff 100%);
border: 1px solid #edf1f7; border: 1px solid #edf1f7;
@ -279,16 +291,16 @@ export default Vue.extend({
box-sizing: border-box; box-sizing: border-box;
img { img {
width: 112px; width: 104px;
height: 112px; height: 104px;
object-fit: cover; object-fit: cover;
border-radius: 12px; border-radius: 12px;
} }
span { span {
margin-top: 12px; margin-top: 10px;
color: #4b5563; color: #4b5563;
font-size: 14px; font-size: 13px;
font-weight: 600; font-weight: 600;
} }
} }
@ -298,16 +310,16 @@ export default Vue.extend({
justify-content: center; justify-content: center;
align-items: center; align-items: center;
gap: 14px; gap: 14px;
padding: 8px 28px 26px; padding: 6px 22px 22px;
} }
.cancel-btn, .cancel-btn,
.submit-btn { .submit-btn {
min-width: 160px; min-width: 150px;
height: 44px; height: 42px;
padding: 0 32px; padding: 0 28px;
border-radius: 999px; border-radius: 999px;
font-size: 16px; font-size: 15px;
font-weight: 600; font-weight: 600;
} }
@ -338,5 +350,9 @@ export default Vue.extend({
min-height: auto; min-height: auto;
margin-top: 20px; margin-top: 20px;
} }
.form-item--compact {
width: 100%;
}
} }
</style> </style>

View File

@ -7,72 +7,73 @@
</div> </div>
<!-- footer--> <!-- footer-->
<div class="footer"> <div class="footer">
<div class="left-box"> <div class="footer-main">
<div class="footer-brand-col">
<div class="footer-brand"> <img
<img v-if="JSON.stringify(logoInfoNew)!=='{}'" v-if="hasLogoInfo"
:src="logoInfoNew.home.logoImg" alt="" :src="footerHomeInfo.logoImg"
class="img"> alt="logo"
<div class="content-main"> class="footer-brand-logo"
<ul class="info"> >
<li>地址<span v-if="JSON.stringify(logoInfoNew)!=='{}'">{{ logoInfoNew.home.adress }}</span>
</li>
<li v-if="JSON.stringify(logoInfoNew)!=='{}'"> 邮箱{{logoInfoNew.home.email}}</li>
<!-- <li v-if="JSON.stringify(logoInfoNew)!=='{}'">电话: <span class="tel">{{logoInfoNew.home.mobile}}</span> -->
<!-- </li> -->
<li>
<!-- <a href="" rel="noreferrer" target="_blank"></a> -->
</li>
</ul>
</div>
</div> </div>
<ul class="bigUl">
<li class="bigLi footer-service"> <div class="footer-link-cols">
<span class="title">产品服务</span>
<ul class="smallUl footer-service-list">
<div class="footer-link-col">
<h4 class="footer-col-title">产品服务</h4>
<ul class="footer-link-list">
<li <li
v-for="item in footerProductServices" v-for="item in footerProductServices"
:key="item.label" :key="item.label"
class="smallLi" class="footer-link-item"
:class="{ clickable: !!item.path }"
@click="goFooterService(item.path)" @click="goFooterService(item.path)"
> >
{{ item.label }} {{ item.label }}
</li> </li>
</ul> </ul>
</li>
</ul>
<div v-if="JSON.stringify(logoInfoNew)!=='{}'&&logoInfoNew.home.bannerTitle!=='开元数智'" class="right-box">
<div class="qr-box">
<div class="qr-code">
<img src="./img/img.png" alt="">
</div>
<span class="qr-content">微信客服</span>
</div> </div>
<div class="qr-box">
<div class="qr-code"> <div class="footer-contact-col">
<img src="./img/kefu.jpg" style="padding: 0.08rem" alt=""> <h4 class="footer-col-title">联系我们</h4>
<ul class="footer-contact-list">
<li>地址<span>{{ footerHomeInfo.adress }}</span></li>
<li>邮箱<span>{{ footerHomeInfo.email }}</span></li>
<li>电话<span>{{ footerHomeInfo.mobile }}</span></li>
</ul>
<div v-if="showFooterQrcode" class="footer-qrcode-row">
<div class="qr-box">
<div class="qr-code">
<img src="./img/img.png" alt="">
</div>
<span class="qr-content">微信客服</span>
</div> </div>
<span class="qr-content">关注公众号</span> <div class="qr-box">
<div class="qr-code">
<img src="./img/kefu.jpg" alt="">
</div>
<span class="qr-content">关注公众号</span>
</div>
</div> </div>
</div> </div>
</div>
</div> </div>
<div class="footer-record"> <div class="footer-record">
<span v-if="JSON.stringify(logoInfoNew)!=='{}'" <span v-if="hasLogoInfo"
class="footer-record__text"><span class="footer-record__text"><span
class="goStyle" class="goStyle"
@click="goOut('https://beian.miit.gov.cn/#/Integrated/index')"> @click="goOut('https://beian.miit.gov.cn/#/Integrated/index')">
京ICP备{{ 京ICP备{{
logoInfoNew.home.license footerHomeInfo.license
}}&nbsp; }}&nbsp;
<span style="padding: 4px;"></span> <span style="padding: 4px;"></span>
</span> &nbsp;&nbsp;{{ </span> &nbsp;&nbsp;{{
logoInfoNew.home.footerTitle footerHomeInfo.footerTitle
}}&nbsp;{{ }}&nbsp;{{
logoInfoNew.home.copyright footerHomeInfo.copyright
}}&nbsp; </span> }}&nbsp; </span>
<!-- IPC备案号:{{ ICP }} <span style="margin-left: 0.267rem">版权所有 @kaiyuanyun 2023</span>--> <!-- IPC备案号:{{ ICP }} <span style="margin-left: 0.267rem">版权所有 @kaiyuanyun 2023</span>-->
<!-- <img src="../../image/login/policeInsignia/policeInsignia.png" alt=""--> <!-- <img src="../../image/login/policeInsignia/policeInsignia.png" alt=""-->
@ -91,7 +92,6 @@
<script> <script>
import Vue from 'vue' import Vue from 'vue'
import TopBox from "@/views/homePage/components/topBox/index.vue"; import TopBox from "@/views/homePage/components/topBox/index.vue";
import {reqNewHomeFestival} from "@/api/newHome";
import {mapGetters, mapState} from "vuex"; import {mapGetters, mapState} from "vuex";
export default Vue.extend({ export default Vue.extend({
@ -140,6 +140,30 @@ export default Vue.extend({
{ label: '智能体商店', path: '/homePage/agentStore' }, { label: '智能体商店', path: '/homePage/agentStore' },
{ label: '供需广场', path: '/ncmatchHome/supplyAndDemandSquare' }, { label: '供需广场', path: '/ncmatchHome/supplyAndDemandSquare' },
{ label: '文档中心', path: '/homePage/new' }, { label: '文档中心', path: '/homePage/new' },
],
footerAboutUs: [
{ label: '关于我们', path: '/homePage/about' },
{ label: '文件中心', path: '/homePage/new' },
{ label: '联系我们', path: '/homePage/about' },
{ label: '人才招聘', path: '' },
{ label: '云作坊', path: '' },
{ label: '友情链接', path: '' },
],
footerSolutions: [
{ label: '汽车行业', path: '/homePage/solve/hospital' },
{ label: '金融行业', path: '' },
{ label: '政务行业', path: '' },
{ label: '工业行业', path: '' },
{ label: '教育行业', path: '' },
{ label: '医疗行业', path: '' },
{ label: '互联网行业', path: '' },
],
footerSupports: [
{ label: '备案服务', path: '' },
{ label: '服务咨询', path: '' },
{ label: '建议与反馈', path: '/homePage/about' },
{ label: '常见问题', path: '/homePage/new' },
{ label: '帮助中心', path: '/homePage/new' },
] ]
} }
}, },
@ -160,6 +184,15 @@ export default Vue.extend({
console.log("此时是:", orgType !== '2' && orgType !== '3' && userId !== null) console.log("此时是:", orgType !== '2' && orgType !== '3' && userId !== null)
return orgType !== '2' && orgType !== '3' && userId === null; return orgType !== '2' && orgType !== '3' && userId === null;
}, },
hasLogoInfo() {
return this.logoInfoNew && JSON.stringify(this.logoInfoNew) !== '{}' && this.logoInfoNew.home
},
footerHomeInfo() {
return this.hasLogoInfo ? this.logoInfoNew.home : {}
},
showFooterQrcode() {
return this.hasLogoInfo && this.footerHomeInfo.bannerTitle !== '开元数智'
},
username() { username() {
return sessionStorage.getItem('username') || ''; return sessionStorage.getItem('username') || '';
}, },
@ -258,62 +291,122 @@ export default Vue.extend({
} }
.footer { .footer {
padding: 42px 0 22px; padding: 38px 0 22px;
width: 100%; width: 100%;
display: flex; display: flex;
justify-content: center; justify-content: center;
flex-wrap: wrap; flex-wrap: wrap;
background-color: #fff; background: #f1f3f7;
} }
.left-box { .footer-main {
width: 1400px; width: 1400px;
min-height: 180px;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: flex-start; align-items: flex-start;
padding: 0 0 30px; gap: 38px;
border-bottom: 1px solid rgba(122, 130, 160, 0.28); padding: 0 0 32px;
border-bottom: 1px solid rgba(122, 130, 160, 0.22);
box-sizing: border-box; box-sizing: border-box;
} }
.footer-brand { .footer-brand-col {
width: 420px; width: 150px;
display: flex; padding-top: 2px;
flex-direction: column; }
.img { .footer-brand-logo {
width: 168px; width: 180px;
height: 54px; height: 50px;
object-fit: contain; object-fit: contain;
object-position: left center; object-position: left center;
margin-bottom: 14px; }
.footer-link-cols {
flex: 1;
display: flex;
justify-content: flex-start;
align-items: flex-start;
gap: 60px;
}
.footer-link-col {
min-width: 110px;
}
.footer-col-title {
margin: 0 0 14px;
color: #202634;
font-size: 16px;
font-weight: 600;
line-height: 1.5;
}
.footer-link-list {
margin: 0;
padding: 0;
list-style: none;
}
.footer-link-item {
margin-bottom: 9px;
color: #5d6477;
font-size: 14px;
line-height: 1.5;
white-space: nowrap;
transition: color .2s ease, transform .2s ease;
}
.footer-link-item:last-child {
margin-bottom: 0;
}
.footer-link-item.clickable {
cursor: pointer;
}
.footer-link-item.clickable:hover {
color: #1b5bff;
transform: translateX(3px);
}
.footer-contact-col {
// width: 360px;
}
.footer-contact-list {
margin: 0;
padding: 0;
list-style: none;
color: #5d6477;
font-size: 14px;
line-height: 1.6;
li {
margin-bottom: 5px;
} }
} }
.right-box { .footer-qrcode-row {
min-width: 260px; margin-top: 14px;
display: flex; display: flex;
justify-content: center;
align-items: flex-start; align-items: flex-start;
gap: 34px; gap: 14px;
} }
.content-main { .qr-box {
mix-blend-mode: normal; display: flex;
color: #7A82A0; flex-direction: column;
font-size: 14px; align-items: center;
line-height: 1.8;
} }
.qr-code { .qr-code {
width: 112px; width: 120px;
height: 112px; height: 120px;
padding: 6px; padding: 4px;
border: 1px solid #edf1f7; border: 1px solid #dde3ef;
border-radius: 12px;
box-sizing: border-box;
background: #fff; background: #fff;
box-sizing: border-box;
img { img {
width: 100%; width: 100%;
@ -323,102 +416,10 @@ export default Vue.extend({
} }
.qr-content { .qr-content {
mix-blend-mode: normal; margin-top: 8px;
color: #4b5563; color: #5d6477;
font-family: PingFang SC, serif; font-size: 13px;
font-weight: 600; line-height: 1.4;
font-size: 14px;
margin-top: 10px;
}
.qr-box {
display: flex;
justify-content: center;
flex-direction: column;
align-items: center;
}
.logo {
background-color: #32abfc;
img {
width: 100%;
height: 100%;
}
}
.bigUl {
margin: 0 80px 0 40px;
width: 260px;
display: flex;
justify-content: flex-start;
padding: 0;
list-style: none;
.bigLi {
margin: 0;
}
height: 100%;
.title {
color: #111827;
font-size: 18px;
line-height: 1.4;
font-weight: 700;
}
.smallUl {
padding: 0;
list-style: none;
font-size: 15px;
color: #7A82A0;
li {
margin: 10px 0;
}
}
}
.footer-service {
display: flex;
flex-direction: column;
}
.footer-service-list {
margin-top: 16px;
.smallLi {
line-height: 1.5;
white-space: nowrap;
}
}
.info {
font-size: 14px;
color: #7A82A0;
padding: 0;
margin: 0;
list-style: none;
li {
margin: 6px 0;
}
}
.tel {
color: #222F60;
font-size: 20px;
}
.smallLi {
transition: color .2s ease, transform .2s ease;
&:hover {
color: #1b5bff;
cursor: pointer;
transform: translateX(4px);
}
} }
.footer-record { .footer-record {
@ -434,8 +435,8 @@ export default Vue.extend({
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
color: #7A82A0; color: #7a82a0;
font-size: 14px; font-size: 13px;
} }
.goStyle { .goStyle {

View File

@ -33,6 +33,8 @@
class="solution-card" class="solution-card"
:class="`solution-card--slot-${item.slot}`" :class="`solution-card--slot-${item.slot}`"
:style="{ background: item.card.bg, boxShadow: item.card.shadow }" :style="{ background: item.card.bg, boxShadow: item.card.shadow }"
@mouseenter="stopSolutionCarousel"
@mouseleave="startSolutionCarousel"
@click="setSolutionIndex(item.index)" @click="setSolutionIndex(item.index)"
> >
<div class="solution-card__front"> <div class="solution-card__front">
@ -640,14 +642,6 @@ body.dark-theme .bg-orb {
.solution-card { .solution-card {
transition-duration: 1.05s; transition-duration: 1.05s;
} }
.solution-card--slot-0 {
animation: centerCardSpin 0.72s cubic-bezier(0.22, 1, 0.36, 1);
}
.solution-card--slot-0 .solution-card__icon {
animation: iconRoundSpin 0.72s cubic-bezier(0.22, 1, 0.36, 1);
}
} }
.solution-card { .solution-card {