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;
color: #333;
cursor: pointer;
font-size: 15px !important;
font-weight: 500;
line-height: 36px;
font-size: 17px !important;
font-weight: 700;
// line-height: 36px
transition: color 0.2s ease;
&:hover {

View File

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

View File

@ -7,72 +7,73 @@
</div>
<!-- footer-->
<div class="footer">
<div class="left-box">
<div class="footer-brand">
<img v-if="JSON.stringify(logoInfoNew)!=='{}'"
:src="logoInfoNew.home.logoImg" alt=""
class="img">
<div class="content-main">
<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 class="footer-main">
<div class="footer-brand-col">
<img
v-if="hasLogoInfo"
:src="footerHomeInfo.logoImg"
alt="logo"
class="footer-brand-logo"
>
</div>
<ul class="bigUl">
<li class="bigLi footer-service">
<span class="title">产品服务</span>
<ul class="smallUl footer-service-list">
<div class="footer-link-cols">
<div class="footer-link-col">
<h4 class="footer-col-title">产品服务</h4>
<ul class="footer-link-list">
<li
v-for="item in footerProductServices"
:key="item.label"
class="smallLi"
class="footer-link-item"
:class="{ clickable: !!item.path }"
@click="goFooterService(item.path)"
>
{{ item.label }}
</li>
</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 class="qr-box">
<div class="qr-code">
<img src="./img/kefu.jpg" style="padding: 0.08rem" alt="">
<div class="footer-contact-col">
<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>
<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 class="footer-record">
<span v-if="JSON.stringify(logoInfoNew)!=='{}'"
<span v-if="hasLogoInfo"
class="footer-record__text"><span
class="goStyle"
@click="goOut('https://beian.miit.gov.cn/#/Integrated/index')">
京ICP备{{
logoInfoNew.home.license
footerHomeInfo.license
}}&nbsp;
<span style="padding: 4px;"></span>
</span> &nbsp;&nbsp;{{
logoInfoNew.home.footerTitle
footerHomeInfo.footerTitle
}}&nbsp;{{
logoInfoNew.home.copyright
footerHomeInfo.copyright
}}&nbsp; </span>
<!-- IPC备案号:{{ ICP }} <span style="margin-left: 0.267rem">版权所有 @kaiyuanyun 2023</span>-->
<!-- <img src="../../image/login/policeInsignia/policeInsignia.png" alt=""-->
@ -91,7 +92,6 @@
<script>
import Vue from 'vue'
import TopBox from "@/views/homePage/components/topBox/index.vue";
import {reqNewHomeFestival} from "@/api/newHome";
import {mapGetters, mapState} from "vuex";
export default Vue.extend({
@ -140,6 +140,30 @@ export default Vue.extend({
{ label: '智能体商店', path: '/homePage/agentStore' },
{ label: '供需广场', path: '/ncmatchHome/supplyAndDemandSquare' },
{ 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)
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() {
return sessionStorage.getItem('username') || '';
},
@ -258,62 +291,122 @@ export default Vue.extend({
}
.footer {
padding: 42px 0 22px;
padding: 38px 0 22px;
width: 100%;
display: flex;
justify-content: center;
flex-wrap: wrap;
background-color: #fff;
background: #f1f3f7;
}
.left-box {
.footer-main {
width: 1400px;
min-height: 180px;
display: flex;
justify-content: space-between;
align-items: flex-start;
padding: 0 0 30px;
border-bottom: 1px solid rgba(122, 130, 160, 0.28);
gap: 38px;
padding: 0 0 32px;
border-bottom: 1px solid rgba(122, 130, 160, 0.22);
box-sizing: border-box;
}
.footer-brand {
width: 420px;
display: flex;
flex-direction: column;
.footer-brand-col {
width: 150px;
padding-top: 2px;
}
.img {
width: 168px;
height: 54px;
object-fit: contain;
object-position: left center;
margin-bottom: 14px;
.footer-brand-logo {
width: 180px;
height: 50px;
object-fit: contain;
object-position: left center;
}
.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 {
min-width: 260px;
.footer-qrcode-row {
margin-top: 14px;
display: flex;
justify-content: center;
align-items: flex-start;
gap: 34px;
gap: 14px;
}
.content-main {
mix-blend-mode: normal;
color: #7A82A0;
font-size: 14px;
line-height: 1.8;
.qr-box {
display: flex;
flex-direction: column;
align-items: center;
}
.qr-code {
width: 112px;
height: 112px;
padding: 6px;
border: 1px solid #edf1f7;
border-radius: 12px;
box-sizing: border-box;
width: 120px;
height: 120px;
padding: 4px;
border: 1px solid #dde3ef;
background: #fff;
box-sizing: border-box;
img {
width: 100%;
@ -323,102 +416,10 @@ export default Vue.extend({
}
.qr-content {
mix-blend-mode: normal;
color: #4b5563;
font-family: PingFang SC, serif;
font-weight: 600;
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);
}
margin-top: 8px;
color: #5d6477;
font-size: 13px;
line-height: 1.4;
}
.footer-record {
@ -434,8 +435,8 @@ export default Vue.extend({
display: flex;
justify-content: center;
align-items: center;
color: #7A82A0;
font-size: 14px;
color: #7a82a0;
font-size: 13px;
}
.goStyle {

View File

@ -33,6 +33,8 @@
class="solution-card"
:class="`solution-card--slot-${item.slot}`"
:style="{ background: item.card.bg, boxShadow: item.card.shadow }"
@mouseenter="stopSolutionCarousel"
@mouseleave="startSolutionCarousel"
@click="setSolutionIndex(item.index)"
>
<div class="solution-card__front">
@ -640,14 +642,6 @@ body.dark-theme .bg-orb {
.solution-card {
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 {