Authored by xwx

Merge branch 'master-500-dev' of http://113.200.75.45:82/monitor_v3/hg-monitor-w…

…eb into master-500-dev-xwx
Showing 185 changed files with 1087 additions and 200 deletions
... ... @@ -26,7 +26,7 @@
Start Global CSS
====================================================================
***/
@font-face {
/*@font-face {
font-family: 'PingFang SC';
font-style: normal;
font-weight: normal;
... ... @@ -67,7 +67,7 @@
font-style: normal;
font-weight: normal;
src:url('../fonts/MI_LANTING_REGULAR.TTF');
}
}*/
* {
margin: 0px;
padding: 0px;
... ... @@ -381,7 +381,7 @@ textarea:placeholder,
}
.concat-concat {
position: relative;
background: url('../img/concat/bg.png');
background: url('../img/concat/bg.jpg');
background-position: center bottom;
background-size: cover;
padding: 200px;
... ... @@ -393,7 +393,7 @@ textarea:placeholder,
}
.concat-service {
position: relative;
background: url('../img/services/service-bg.png');
background: url('../img/services/service-bg.jpg');
background-position: center bottom;
background-size: cover;
padding: 200px;
... ... @@ -406,7 +406,7 @@ textarea:placeholder,
.concat-about {
position: relative;
background: url('../img/about/about-bg.png');
background: url('../img/about/about-bg.jpg');
background-position: center bottom;
background-size: cover;
padding: 200px;
... ... @@ -454,6 +454,7 @@ textarea:placeholder,
font-size: 42px;
margin-top: 75px;
text-align: center;
color:#333;
}
.breadcrumb {
... ... @@ -2035,6 +2036,9 @@ blockquote:before {
.info-value{
position: relative;
}
.info-value-center{
text-align: center;
}
.info-value-title{
position: absolute;
top: 0;
... ... @@ -2043,7 +2047,8 @@ blockquote:before {
flex-flow: column;
justify-content: center;
padding: 30px;
left:0;
right:0;
}
.max-width-600{
max-width: 600px;
... ... @@ -2110,17 +2115,36 @@ blockquote:before {
display: flex;
align-items: center;
padding-bottom: 30px;
width: 100%;
margin:0;
}
.dot-item{
padding:20px;
padding:10px;
cursor: pointer;
display: flex;
align-items: center;
}
.dot-item-active,.dot-item:hover{
background-color:#e43730;
.dot-item-title{
font-size: 18px;
font-weight: bold;
flex:1;
background-color: #e9eaef;
border-radius: 5px;
padding:10px 20px;
height: 100%;
display: flex;
align-items: center;
min-height: 80px;
}
.dot-item-active .dot-item-title,.dot-item:hover .dot-item-title{
background-color:#e43730;
color:#ffffff;
}
.dot-container{
margin:0;
}
@media (min-width: 992px){
.dot-container{
flex: 1;
... ... @@ -2137,6 +2161,7 @@ blockquote:before {
}
.row-top{
width:100%;
margin:0;
}
.value-char{
display: flex;
... ... @@ -2188,7 +2213,7 @@ blockquote:before {
align-items: center;
}
.pro-advantage{
background: url("../img/serviceSecond/maintenance/advantage-bg.png");
background: url("../img/serviceSecond/maintenance/advantage-bg.jpg");
background-size: cover;
position: absolute;
height: 100%;
... ... @@ -2236,11 +2261,6 @@ blockquote:before {
.footer-widget h4{
color:#fff;
}
.dot-item-title{
font-size: 14px;
font-weight: bold;
}
.cursor-pointer{
cursor: pointer;
}
... ... @@ -2271,7 +2291,7 @@ blockquote:before {
height: 100%;
}
.tab-item-li{
margin-right:80px;
margin-right:55px;
}
@media (min-width: 992px){
.intro-tab-container{
... ... @@ -2353,6 +2373,9 @@ blockquote:before {
.container {
max-width: 1380px;
}
.tab-item-li{
margin-right:80px;
}
}
.title-style-top{
font-size: 42px;
... ... @@ -2392,11 +2415,19 @@ blockquote:before {
left: 0;
top: 0;
z-index: -1;
background: url('../img/index/step-route.png');
background: url('../img/index/step-route.jpg');
background-size: cover;
display: none;
}
.route-section{
/*height: calc(100vh);*/
position: relative;
}
.route-con,.step-route-bg-sm{
display: none;
}
.route-title{
color:#ffffff;
/*color:#ffffff;*/
}
.step-route-item{
font-size: 18px;
... ... @@ -2420,7 +2451,7 @@ blockquote:before {
left: 0;
top: 0;
z-index: -1;
background: url('../img/index/compatible-bg.png');
background: url('../img/index/compatible-bg.jpg');
background-size: cover;
}
.home-banner-section .owl-carousel .owl-item img{
... ... @@ -2563,6 +2594,9 @@ blockquote:before {
background-repeat: no-repeat;
background-position: center;
}
.culturalValues-bg-sm{
display: none;
}
.all-height{
height:calc(100vh);
}
... ... @@ -2779,6 +2813,9 @@ blockquote:before {
.qualification-section .team-carousel .owl-nav button.owl-prev:hover,.qualification-section .team-carousel .owl-nav button.owl-next:hover{
box-shadow:0 1px 10px 8px rgba(0, 0, 0, 0.3) ;
}
.owl-carousel.owl-loaded.team-carousel-sm{
display: none;
}
.wrap{
overflow: hidden;
height: calc(100vh);
... ... @@ -2798,10 +2835,20 @@ blockquote:before {
align-items: center;
justify-content: center;
}
.about-process-container{
flex:0.6;
display: flex;
flex-flow: column;
}
.about-process{
flex:1;
display: flex;
align-items: center;
}
.about-concat{
position: relative;
width: 100%;
flex: 1;
flex: 0.4;
display: flex;
align-items: center;
justify-content: center;
... ... @@ -2834,6 +2881,12 @@ blockquote:before {
background:rgba(255,255,255,.18);
}
.about-concat-btn a{
color:#fff;
}
.about-concat-btn a:hover{
color:#e43730;
}
.about-concat-con{
position: relative;
display: flex;
... ... @@ -2842,9 +2895,22 @@ blockquote:before {
align-items: center;
}
/*lsq 加入我们样式调整*/
.title-style.color-white,.title-intro.color-white{
.title-style.color-white{
color:#fff;
}
.about-content-intro{
display: none;
}
.about-intro-title{
font-weight: bold;
}
.about-intro{
tab-index: 36px;
}
.about-intro .about-intro-img{
text-align: center;
}
.concat-concat .title-style{
font-size:42px;
}
... ... @@ -3050,7 +3116,7 @@ blockquote:before {
width: 100%;
top: 0;
z-index: -2;
background-size: contain;
background-size: cover;
background-image: url("../img/serviceSecond/Aview/ability-bg.png");
background-repeat: no-repeat;
background-position: center;
... ... @@ -3113,7 +3179,7 @@ blockquote:before {
cursor: pointer;
}
.info-characterP .info-characterP-bg{
background:url("../img/serviceSecond/Aview/characterP-bg.png");
background:url("../img/serviceSecond/Aview/characterP-bg.jpg");
position: absolute;
height: 100%;
width: 100%;
... ... @@ -3124,7 +3190,10 @@ blockquote:before {
background-position: center;
}
.info-characterP:hover .info-characterP-bg{
background:url("../img/serviceSecond/Aview/characterP-bg-active.png");
background:url("../img/serviceSecond/Aview/characterP-bg-active.jpg");
background-size: contain;
background-repeat: no-repeat;
background-position: center;
}
.info-character.info-characterP{
... ... @@ -3155,7 +3224,7 @@ blockquote:before {
color:#fff;
}
.Aview-advantage-bg{
background: url("../img/serviceSecond/Aview/advantage-bg.png");
background: url("../img/serviceSecond/Aview/advantage-bg.jpg");
background-size: cover;
position: absolute;
height: 100%;
... ... @@ -3368,6 +3437,7 @@ blockquote:before {
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
}
.lifeCycle-item:nth-child(2){
padding: 30px;
... ... @@ -3402,7 +3472,7 @@ blockquote:before {
padding-right:0;
}
.app-advantage-bg{
background: url("../img/serviceSecond/cmdb/advantage-bg.png");
background: url("../img/serviceSecond/cmdb/advantage-bg.jpg");
background-size: cover;
position: absolute;
height: 100%;
... ... @@ -3450,8 +3520,11 @@ blockquote:before {
.kpi-item{
max-width: 170px;
padding:0;
padding-right:6px;
}
.kpi-item:last-child{
padding:0;
}
.com-item-title{
font-size: 21px;
color:#333333;
... ... @@ -3473,6 +3546,10 @@ blockquote:before {
}
.com-item-con{
border:1px solid #999;
border-right: none;
}
.com-item-con:last-child{
border:1px solid #999;
}
.row-com{
box-shadow: 0 0 8px rgba(0,0,0,.2);
... ... @@ -3485,7 +3562,7 @@ blockquote:before {
padding:0;
}
.recruit-bg{
background: url("../img/concatSecond/banner-con.png");
background: url("../img/concatSecond/banner-con.jpg");
background-size: cover;
position: absolute;
height: 100%;
... ... @@ -3514,7 +3591,7 @@ blockquote:before {
transition: transform .85s cubic-bezier(0.88, 0.06, 0.64, 0.99);
background:#fff;
width: 100%;
z-index: 2;
z-index: 3;
}
.copyright-a{
color:#848484;
... ... @@ -3528,30 +3605,156 @@ blockquote:before {
.home-banner-section .owl-item{
background-size:cover !important;
}
.about-content .title-style{
color:#e43730;
.about-content-intro .title-style{
/*color:#e43730;*/
color:#333;
padding-top:140px;
}
.about-container{
height:100%;
}
@media (min-width: 992px){
.about-content .title-style{
padding-top:180px;
.about-content .title-style{
padding-top:50px;
}
.office-info li a{
color:#FFFFFF;
}
.office-info li a:hover{
color:#e43730;
}
@media only screen and (max-width:1200px){
.info-character.info-characterP{
padding:15px;
}
.characterP-con .info-character-intro{
padding-top:10px;
}
}
.recruit-Hot-xl{
display:none;
margin-bottom: 20px;
}
.home-bg-1{
background: url(../img/index/1.jpg);
}
.home-bg-2{
background: url(../img/index/2.jpg);
}
.home-bg-3{
background: url(../img/index/3.jpg);
}
.hzlc-sm{
display: none;
}
.footer-title-none{
font-weight: 600;
position: relative;
margin-bottom: 40px;
text-transform: capitalize;
}
@media (min-width: 1200px){
.about-content .title-style{
padding-top:160px;
@media only screen and (max-width: 1400px){
.intro-tab-scroll{
transform: translateY(75px);
}
}
@media (min-width: 1400px){
.about-content .title-style{
padding-top:140px;
@media only screen and (max-width: 1200px){
.Aview .tab-item-li {
margin-right: 40px;
}
.dataAbility-con{
margin-top:60px;
flex-flow: column;
max-height: inherit;
flex:none;
}
.dataAbility-bg{
/*background-image: url("../img/serviceSecond/Aview/ability-bg-sm.png");*/
background-image: none;
}
.dataAbility-bg-logo{
display: none;
}
.dataAbility-col{
max-width: 100%;
}
.dataAbility-col:nth-child(3) .dataAbility-item .dataAbility-item-intro-item:first-child{
max-width: 100%;
}
.dataAbility-col:nth-child(2n) .dataAbility-item{
margin-left:0;
}
.dataAbility-item{
padding: 15px;
background: #1E9FFF;
margin: 8px 0;
border-radius: 3px;
}
.dataAbility-item-intro-item{
min-height: auto;
}
.dataAbility-item-intro{
padding-top:10px;
}
.info-characterP .info-characterP-bg{
background-image:none;
background-color:#ffffff;
border-radius: 3px;
}
.info-characterP:hover .info-characterP-bg{
background-image:none;
background-color:#1E9FFF;
border-radius: 3px;
}
.tab-item-li{
margin-right:25px;
}
.func-bg img{
height: 100%;
}
.func-bottom-con-right{
height: 20px;
}
}
/*992以下的一些样式*/
@media only screen and (max-width: 991px){
.main-menu .navbar-collapse > .navigation{
margin-top: 13px;
}
.dataAbility-con{
margin-top:20px;
}
.tab-item-li,.Aview .tab-item-li{
margin-right:30px;
}
.hzlc-sm{
display: block;
}
.hzlc{
display: none;
}
.recruit-Hot-lg{
display:none;
}
.recruit-Hot-xl{
display:block;
}
.w-70{
width: calc(100%) !important;
}
.m-1em{
display: flex;
flex-wrap: wrap;
}
.m-1em li{
margin-right:10px;
}
.hot-recruit-box .hotList>a{
text-decoration: underline;
}
.home-banner-section{
padding-top: 0;
}
... ... @@ -3567,7 +3770,477 @@ blockquote:before {
.cultural-item-l img{
max-width: 225px;
}
.info-character-log{
.info-character-log,.info-character-busi{
padding:0 15px;
}
.info-character.info-characterP{
padding:50px;
}
.func-bottom{
margin:0;
padding-top:0;
}
.func-bottom-intro{
padding:0 15px;
flex:1;
/*background: #d95447;*/
}
.func-bottom-title{
/*flex:1;*/
height:50%;
}
.func-l-p.func-bottom-intro{
padding: 0;
}
.func-bottom-con-right{
height:0;
}
.func-l-1{
/*flex:inherit;*/
}
.funcIntro-span{
padding-right:20px;
}
.app-bg,.alarm-system{
margin-bottom: 20px;
}
.cloud-content{
margin-bottom: 20px;
}
.concat-concat{
padding:20px;
}
.principle-item{
padding:15px;
}
.owl-item-content{
width:100%;
left:0;
padding:15px;
}
.count-text{
/*原48px*/
font-size: 30px;
}
.success-box i{
/*原40px*/
font-size:26px;
margin-right:0;
}
.app-advantage-style{
padding-top:30px;
}
.maintenance-advantage-num{
font-size: 60px;
padding:30px 0;
}
.info-character.col-md-3{
max-width:25%;
}
.row-top{
/*flex:1;*/
/*padding:15px;*/
}
.value-char{
flex-flow: column;
align-items: flex-start;
}
.font-size-42,.title-style-top,.page-title,.concat-concat .title-style{
/*原42px*/
font-size: 28px;
}
.title-style,.product-title,.func-bottom-title{
/*原36px*/
font-size: 26px;
}
.info-title
{
/*原30px*/
font-size: 24px;
}
.principle-item-title,.compatible-item .title-style,.concat-title,.intro-title{
/*原28px*/
font-size: 22px;
}
.concat-btn,.font-size-24,.cloud-c-title,.app-title,.advantage-title-Aview{
/*原24px*/
font-size: 20px;
}
.title-intro-top,.product-intro-li,.count-wrap p,.func-top-item,.info-container h4,.con-title-21,.info-child-title,.dataAbility-item-title{
/*原21px*/
font-size: 18px;
}
.title-intro,.product-intro,.concat-intro,.list-style-li,.func-bottom-intro,.info-app-intro,
.advantage-intro-Aview,.info-child-intro,.dataAbility-item-intro,.dot-item-title{
/*原18px*/ /*原16px*/
font-size: 14px;
}
.dot-item-title{
min-height: auto;
}
.pd-40{
padding:10px;
}
.func-bottom-title{
flex-flow: column;
}
.func-top-item{
max-width: 50%;
padding:3px 5px;
text-align: center;
}
.func-top{
flex:1;
margin: 0;
}
.num-icon{
width:20px;
height:20px;
}
.wrap section.pt-135{
padding-top:20px;
}
.flaticon-section .col-md-6{
max-width: 50%;
padding:30px 0 0;
}
.video-section{
padding-top:50px;
}
.col-lg-service-3{
max-width: 33.3%;
}
.dataAbility-col{
/*max-width: 50%;*/
}
.maintenance-title{
padding-top:20px;
}
.concat-about{
background-image: url("../img/about/about-bg-sm.jpg");
height: calc(100vh);
}
.know-intro-bg{
background-image: url("../img/about/know-intro-img-sm.jpg");
}
.partner-img-bg{
background-image: url("../img/about/partner-bg-img-sm.png");
}
.culturalValues-bg{
display: none;
}
.culturalValues-bg-sm{
display: block;
}
.about-concat-bg{
background-image: url("../img/about/about-concat-bg-sm.png");
}
.about-section .container{
flex:1;
}
.about-content-intro .title-style{
padding-top:60px;
}
.home-bg-3{
background: url(../img/index/3-sm.png);
}
.func-bg{
display: none;
}
.func-bg-1{
background-image: url("../img/serviceSecond/cmdb/func-1-sm.png");
background-size: cover;
background-repeat: no-repeat;
flex-flow: column;
}
.func-bg-2{
background-image: url("../img/serviceSecond/cmdb/func-2-sm.png");
background-size: cover;
background-repeat: no-repeat;
flex-flow: column;
}
.func-bg-3{
background-image: url("../img/serviceSecond/cmdb/func-3-sm.png");
background-size: cover;
background-repeat: no-repeat;
flex-flow: column;
}
.func-bg-4{
background-image: url("../img/serviceSecond/cmdb/func-4-sm.png");
background-size: cover;
background-repeat: no-repeat;
flex-flow: column;
}
.func-bg-5{
background-image: url("../img/serviceSecond/cmdb/func-5-sm.png");
background-size: cover;
background-repeat: no-repeat;
flex-flow: column;
}
.func-symbol{
font-size: 50px;
line-height: 20px;
}
.funcIntro-span{
padding-top:5px;
}
.dataAbility-bg-logo img{
max-width: 60px;
}
.logo-title{
display: none;
}
.info-container-ability{
padding-top:20px;
}
.info-container-ability.all-height{
height:calc(100vh + 60px);
}
.info-container-system,.info-container-service{
margin-bottom: 20px;
}
.height-50{
font-size: 14px;
}
}
.tech-introCon-sm{
display: none;
}
.section-item-sm-icon{
display: none;
}
.footer-mr-35{
margin-right: 35px;
}
@media only screen and (max-width: 768px){
.section-item-sm-icon{
display: block;
color: #333;
}
.compatible-section{
padding:30px 0;
}
.principle-section,.principle,.route-about-section{
padding-top:0;
}
.principle-section-item{
padding-top:10px;
}
.principle-section-item .mb-35{
margin-bottom: 0;
}
.section-item-sm{
display: flex;
flex: 1;
justify-content: space-between;
}
.section-item-sm-icon.section-item-active{
color:#e43730;
}
.team-item-left{
padding:20px;
}
.compatible-item{
padding:10px 0;
}
.title-icon{
padding:0;
}
.section-item{
display: none;
}
.tech-item{
max-width: 50%;
}
.tech-title-sm{
color:#e43730;
padding:10px 0;
font-size: 18px;
text-align: center;
font-weight: bold;
}
.tech-intro-sm{
font-size: 14px;
text-align: left;
}
.tech-item:last-child{
max-width: 100%;
}
.tech-item:last-child .tech-img-con,.tech-item:last-child .tech-introCon-sm{
width: 50%;
}
.tech-item:last-child .tech-img-con{
padding-right:15px;
}
.tech-item:last-child .tech-introCon-sm{
padding-left:15px;
}
.tech-item:last-child .service-icon{
flex-flow: row;
}
.tech-title-num,.tech-title,.service-icon .tooltip{
display: none;
}
.single-service-box{
box-shadow: none;
}
.tech-img{
background:#f9f9fb;
}
.owl-carousel.owl-loaded.team-carousel-sm,.tech-introCon-sm{
display: block;
}
.owl-carousel.team-carousel-sm button.owl-dot{
background:#f3f5f8;
width: 30px;
height: 4px;
border-radius: 3px;
margin:0 6px;
}
.owl-carousel.team-carousel-sm button.owl-dot.active{
background:#e43730;
}
.qualification-bg,.owl-carousel.owl-loaded.team-carousel{
display: none;
}
.qualification-con{
left:0;
}
.qualification-section .owl-carousel .owl-item img{
max-height: 200px;
}
.qualification-con .qualification-item .item-con{
border:none;
}
.qualification-con .qualification-item{
height: 300px;
padding:10px;
background:#f3f5f8;
flex-flow: column;
justify-content: center;
opacity: .6;
}
.owl-carousel.team-carousel-sm .owl-item.active.center .qualification-item{
opacity: 1;
}
.qualification-con .qualification-item .item-name{
padding-top:10px;
font-size: 12px;
}
.about-concat{
margin-top: 0;
top:0;
}
.about-content-intro{
display: block;
}
.about-content-intro .mb-35{
margin-bottom: 20px;
}
.step-route-bg-sm{
display: block;
}
.step-route-bg,.know-intro-bg,.about-process-container{
display: none;
}
.rmb-50{
margin-bottom: 20px;
}
.principle-con{
align-items: flex-start;
}
.principle-item{
padding:15px 40px;
}
.wrap{
height: auto;
overflow-y: auto;
}
.wrap section{
height: auto;
}
.wrap section:nth-child(1),.wrap section:nth-child(3),.wrap section:nth-child(5){
min-height: 400px;
}
.footer-widget{
text-align: center;
}
.footer-title-none{
margin-bottom: 0;
}
.office-info li{
justify-content: center;
}
.about-concat .about-concat-title{
padding:20px 0 0;
}
.about-concat-con{
padding-bottom: 20px;
}
.culturalValues-container .pt-60,.partner-section{
padding-top:0;
}
.partner-section,.qualification-section{
padding-bottom: 20px;
}
.about-content-intro .title-style{
padding-top:30px;
}
.info-character.info-characterP{
padding:15px;
}
.product .pt-60{
padding-top:30px;
}
.rel.text-left{
padding-top:0;
}
.intro-tab{
display: none;
}
.cloud-icon-item{
max-width: 33.3%;
}
.kpi-row{
margin:0;
}
.kpi-item{
padding:10px 6px;
}
.kpi-item:last-child{
padding:10px 6px;
}
.com-item{
padding:0 10px;
}
.row-bottom{
/*display: none;*/
}
.lifeCycle-item:nth-child(2) .lifeCycle-intro-item{
width:50%;
}
.hero-section{
padding-top:70px;
}
.main-header{
top:0;
}
.header-inner{
padding:0!important;
}
.footer-mr-35{
margin-right: 0;
}
.wrap .concat-about{
height: calc(100vh);
}
}
\ No newline at end of file
... ...

249 KB | W: | H:

186 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
export function introDatas() {
let res = [
{
img:'assets/img/about/intro-1.jpg',
title:'',
intro:'北京鸿果科技公司于2014年成立,位于中关村核心区域,致力于提供“4S”(Software-软件,Service-服务,Solution-解决方案,Sale-销售)信息化解决方案。公司专注于软件解决方案和整体服务交付,已成为政府、央企等重要行业“IT智能监控”+“数字化业务智能监控”领域的领先者。'
},
{
img:'',
title:'北京总部和西安技术中心',
intro:'目前在北京、西安拥有技术研发团队和服务基地,组建了专业的智能监控和软件服务团队,为公司带来专业化的研发和服务能力。'
},
{
img:'',
title:'精研“AI+大数据”软件产品线',
intro:'北京鸿果科技拥有自主研发力量和“政府”行业服务交付经验,率先把握“互联网+智能化AI+行业场景应用”的变革时机,充分发挥AI时代的业务大数据处理能力,运用智能化、运维大数据思维,引入AI算法+大数据+行业场景化对业务的深度应用,共同打造AI+大数据生态圈以及可落地的解决方案。'
},
{
img:'assets/img/about/intro-2.jpg',
title:'专业服务与高客户满意度',
intro:'公司高度重视客户服务工作,以“高客户满意度”为经营宗旨,践行AI+大数据体系强落地能力,同时具备完整的一线、二线技术支持体系,可覆盖全国营销和售后服务网络,使北京鸿果科技能够为政府及更多重大行业的用户提供全方位、专业化的自研软件产品及端到端的优质服务。'
}
]
return res;
}
export function culturalValuesDatas() {
let res = [
{
... ... @@ -41,24 +66,28 @@ export function culturalDatas() {
}
export function imgsDatas() {
let res = [{
name:'质量管理体系认证证书',
name:'北京市“专精特新”中小企业',
path:'assets/img/about/certificate/1.png'
},{
name:'技术服务管理体系认证证书',
name:'信息技术服务标准符合性证书',
path:'assets/img/about/certificate/2.png'
},{
name:'连续性管理体系认证证书',
name:'软件成熟度认证',
path:'assets/img/about/certificate/3.png'
},{
name:'信息安全管理体系认证证书',
name:'信息安全服务资质认证证书',
path:'assets/img/about/certificate/4.png'
},{
name:'信息安全管理体系认证证书',
path:'assets/img/about/certificate/5.png'
},{
name:'业务连续性管理体系认证证书',
path:'assets/img/about/certificate/6.png'
},{
name:'信息技术服务管理体系认证证书',
path:'assets/img/about/certificate/7.png'
},{
name:'质量管理体系认证证书',
path:'assets/img/about/certificate/8.png'
}]
return res;
... ...
export function homeDatas() {
let res=[
{
title:'“魔镜智能”全面完成国产化兼容适配认证',
introduction:'鸿果科技旗下“魔镜智能”完成对主流国产服务器、数据库、操作系统、中间件等兼容适配,并取得一系列兼容性认证',
isService:false,
isConcat:false,
},
{
title:'不仅仅是智能化运维,',
title1:'提供一站式的IT运维管理平台',
... ... @@ -15,10 +10,16 @@ export function homeDatas() {
},
{
title:'运维数字化道路,鸿果与您同行',
introTitle:'鸿果自研的产品——魔镜智能运维',
introduction:'数据是智能运维的基石,算法是挖掘数据价值的关键,技术是实现智能运维的手段',
introTitle:'鸿果自研产品—魔镜智能运维',
introduction:'“大数据”是智能运维的基石,“算法”是关联分析数据价值的引擎,“场景”是实现智能运维的深度应用。',
isService:true,
isConcat:true,
},
{
title:'“魔镜智能”全面完成国产化兼容适配认证',
introduction:'鸿果科技旗下“魔镜智能”完成对主流国产服务器、数据库、操作系统、中间件等兼容适配,并取得一系列兼容性认证',
isService:false,
isConcat:false,
}
]
return res
... ... @@ -137,30 +138,35 @@ export function logoDatas(){
id:'1',
logoUrl:'logo-dong-default',
logoUrlTip:'logo-dong',
name:'东方通',
active:true
},
{
id:'2',
logoUrl:'logo-da-default',
logoUrlTip:'logo-da',
name:'达梦数据库',
active:false
},
{
id:'3',
logoUrl:'logo-nan-default',
logoUrlTip:'logo-nan',
name:'南大通用',
active:false
},
{
id:'4',
logoUrl:'logo-ren-default',
logoUrlTip:'logo-ren',
name:'人大金仓',
active:false
},
{
id:'5',
logoUrl:'logo-tong-default',
logoUrlTip:'logo-tong',
name:'统信UOS',
active:false
}
]
... ...
... ... @@ -3,7 +3,7 @@ export function productDatas(){
{
title:'综合告警智能算法平台',
introduction:'能快速接入各类告警信息,通过告警算法自动去重、规则压缩、算法降噪,实现告警降噪,避免告警风暴,更快响应告警,提升告警管理能力',
introData:['基于业务的告警统一管理','基于算法的智能合并降噪','支持固定阈值、同环比,预测性异常检测','兼容并包,开放告警'],
introData:['基于“专业分散”业务的告警统一管理','基于算法的智能合并降噪','可实现预测性异常检测和趋势分析','兼容并包,开放告警'],
type:'alarm'
},
{
... ... @@ -13,7 +13,7 @@ export function productDatas(){
type:'Aview'
},
{
title:'CMDB资产管理',
title:'面向应用的CMDB资产管理',
introduction:'建立以应用为中心的资源管理模型,促进资产到资源的转变',
introData:['随需而动的资源管理模型','独有的双模自动发现能力','面向业务的关联分析','丰富多样的服务化API'],
type:'cmdb'
... ... @@ -44,7 +44,7 @@ export function productDatas(){
},
{
title:'魔镜智能多云运维平台',
introduction:'支持了国内外所有主流云厂商,包含混合云、多云环境下对云资源统一管理和调度,提供系统映像、通过既定策略优化工作负载,系统运行状态,以及任务执行过程的可视化监控,并提供丰富的告警机制帮助客户进行快速处理。对复杂的多云异构环境实现统一管理(虚拟化平台、超融合、私有云、专有云、公有云、混合云中任意组合)提供便捷的管理操作,从基础设施到应用实现全栈管理',
introduction:'对复杂的多云异构环境实现统一管理(虚拟化平台、超融合、私有云、专有云、公有云、混合云中任意组合)提供便捷的管理操作,从基础设施到应用实现全栈管理。',
introData:['多云资源统一管理','多云环境自动化编排','多云资源统一运维和监控','多维数据可视化'],
type:'cloud'
}
... ...
... ... @@ -34,7 +34,7 @@ export function Information() {
{
title:'系统框架',
introduction:'安全运维服务流程的系统架构',
img:'assets/img/serviceSecond/information/system.png',
img:'assets/img/serviceSecond/information/system.jpg',
type:'system'
},
{
... ... @@ -45,25 +45,25 @@ export function Information() {
icon:'assets/img/serviceSecond/information/advantage-1.png',
title: '“护网”“等保”各规章变成“流程”强制性管控',
introduction:'特点:规章落地 提前约束 流程强制 全程留痕',
img:'assets/img/serviceSecond/information/advantageImg-1.png'
img:'assets/img/serviceSecond/information/advantageImg-1.jpg'
},
{
icon:'assets/img/serviceSecond/information/advantage-2.png',
title:'通过'+"“安全流程”"+'提前管控日常操作、留痕',
introduction:'',
img:'assets/img/serviceSecond/information/advantageImg-2.png'
img:'assets/img/serviceSecond/information/advantageImg-2.jpg'
},
{
icon:'assets/img/serviceSecond/information/advantage-3.png',
title:'税务局业务流程目录、展示、流程的分类管理',
introduction:'',
img:'assets/img/serviceSecond/information/advantageImg-3.png'
img:'assets/img/serviceSecond/information/advantageImg-3.jpg'
},
{
icon:'assets/img/serviceSecond/information/advantage-4.png',
title:'工作组、用户权限的灵活配置',
introduction:'',
img:'assets/img/serviceSecond/information/advantageImg-4.png'
img:'assets/img/serviceSecond/information/advantageImg-4.jpg'
}
],
type:'advantage'
... ... @@ -75,17 +75,17 @@ export function Information() {
{
title:'标准化',
introduction:'信息、流程、时间全面统一,高效协同',
img:'assets/img/serviceSecond/information/value-bg.png'
img:'assets/img/serviceSecond/information/value-bg.jpg'
},
{
title:'规范化',
introduction:'理清流程、制度落地,业务按标准执行',
img:'assets/img/serviceSecond/information/value-bg.png'
img:'assets/img/serviceSecond/information/value-bg.jpg'
},
{
title:'透明化',
introduction:'流程申请、流程进度、流程审批全程可观',
img:'assets/img/serviceSecond/information/value-bg.png'
img:'assets/img/serviceSecond/information/value-bg.jpg'
}
],
type:'value'
... ... @@ -117,19 +117,19 @@ export function securityLog() {
introduction:'',
dataFour:[
{
img:'assets/img/serviceSecond/securityLog/advantageImg-1.png',
img:'assets/img/serviceSecond/securityLog/advantageImg-1.jpg',
title:'高效数据处理能力',
introduction:'日志综合智能分析平台采用大数据架构进行数据的采集、存储、分析和检索。日志采集综合处理均值20000条/秒。数据采用高压缩存储算法,压缩比达到10:1。数据检索采用专业化日志查询引擎,百亿级日志量查询速率只需秒级。直观展示安全事件发生时间、访问源、危险等级及影响范围的分布情况。',
isDisplay:true
},
{
img:'assets/img/serviceSecond/securityLog/advantageImg-2.png',
img:'assets/img/serviceSecond/securityLog/advantageImg-2.jpg',
title:'基于策略分析的安全事件响应',
introduction:'日志综合智能分析平台基于状态分析的安全事件规则能够帮助用户对全网安全事件进行全方位定位,快速发现可疑行为、违规事件和攻击行为。基于时间线性的回溯分析能够帮助用户轻松了解到违规事件的时间、发生源、违规操作设备、操作行为,通过图形化还原违规行为现场,作为事后追溯的有力证据。',
isDisplay:true
},
{
img:'assets/img/serviceSecond/securityLog/advantageImg-3.png',
img:'assets/img/serviceSecond/securityLog/advantageImg-3.jpg',
title:'可视化日志展示',
introduction:'日志综合智能分析支持对日志查询结果进行在线快速自动分析,提供事件计数统计、时间分段环比统计、数值分段统计、字段值分类统计、字段数值统计、累计百分比统计、地理统计等统计功能,并以直观形象的统计图表(饼型图、直方图、堆积图、折线图等)来展现日志数据统计结果,并可将统计图表保存到自定义仪表盘上,方便用户随时查看。',
isDisplay:true
... ... @@ -190,7 +190,7 @@ export function businessApp () {
subTitle:'随时掌握应用性能对业务的影响',
introduction:'魔镜APM基于实时的多语言应用探针全量采集技术,全方位 保障系统的可用性与性能表现,帮助企业有效地降低MTTR、 提升开发运维效率、改善用户体验。',
type:'info',
subImg:'assets/img/serviceSecond/businessApp/info.png',
subImg:'assets/img/serviceSecond/businessApp/info.jpg',
dataIcon:[
{icon:'assets/img/serviceSecond/businessApp/info-icon-1.png'},
{icon:'assets/img/serviceSecond/businessApp/info-icon-2.png'},
... ... @@ -204,28 +204,28 @@ export function businessApp () {
introduction:'',
dataApm:[
{
img:'assets/img/serviceSecond/businessApp/apm-1.png',
img:'assets/img/serviceSecond/businessApp/apm-1.jpg',
title:'智能分析',
introData:[
'基于AIOps技术智能分析事务问题根因','基于异常检则算法和动态基线进行智能警报','异常和错误支持根因分析','指标相关性分析帮助缩小排查范围'
]
},
{
img:'assets/img/serviceSecond/businessApp/apm-2.png',
img:'assets/img/serviceSecond/businessApp/apm-2.jpg',
title:'代码级诊断',
introData:[
'深入代码到每一行,缩短性能问题定位流 程,节省宝贵的开发时间','提供详细的代码堆栈','自动化的实时诊断,同时支持自定义嵌码'
]
},
{
img:'assets/img/serviceSecond/businessApp/apm-3.png',
img:'assets/img/serviceSecond/businessApp/apm-3.jpg',
title:'调用链追踪',
introData:[
'无限层级追踪调用链','快速定位性能瓶颈','丰富的追踪上下文信息','支持异步调用追踪'
]
},
{
img:'assets/img/serviceSecond/businessApp/apm-4.png',
img:'assets/img/serviceSecond/businessApp/apm-4.jpg',
title:'微服务治理',
introData:[
'梳理微服务依赖关系','跨平台、多语言、多协议、多框架','实时监控业务的健康度','批量部署,自动发现'
... ... @@ -347,49 +347,49 @@ export function maintenance() {
introduction:'',
dataFour:[
{
img:'assets/img/serviceSecond/maintenance/character-1.png',
img:'assets/img/serviceSecond/maintenance/character-1.jpg',
title:'动态关联IT与业务',
introduction:'从业务视角出发,将不同维度的IT资源关联整合,以简洁易懂的界面呈现业务与资源的关联关系。广泛的资源监控能力,任何影响业务的因素都及时体现,使IT运维效率得到大幅提升。',
isDisplay:true
},
{
img:'assets/img/serviceSecond/maintenance/character-2.png',
img:'assets/img/serviceSecond/maintenance/character-2.jpg',
title:'业务健康随时掌控',
introduction:'预置业务运维综合评价机制,基于“繁忙度”“健康度”“可用性”等多维度的业务性能监控指标,以业务运维状态卡片的方式直观展现业务状态,确保业务的正常运行。',
isDisplay:true
},
{
img:'assets/img/serviceSecond/maintenance/character-3.png',
img:'assets/img/serviceSecond/maintenance/character-3.jpg',
title:'故障根因分析溯源',
introduction:'业务系统出现故障时,根据实际业务服务模型,通过业务视图与IT资源间的关联性,实时映射基础设施监控(IM)中影响服务的告警事件,准确定位故障根源、快速恢复业务,并可设置优先级。',
isDisplay:true
},
{
img:'assets/img/serviceSecond/maintenance/character-4.png',
img:'assets/img/serviceSecond/maintenance/character-4.jpg',
title:'智能告警中心',
introduction:'实现现有的多种告警源的通知方式及工单系统进行联动,实现统一接入、分级展示、告警降噪、告警处理、告警推送、告警关闭这一系列告警事件的闭环管理,支持告警升/降级,根据故障影响范围和终端用户判定处理优先级。',
isDisplay:true
},
{
img:'assets/img/serviceSecond/maintenance/character-5.png',
img:'assets/img/serviceSecond/maintenance/character-5.jpg',
title:'提供IT规划参考依据',
introduction:'提供的业务负载情况及增长趋势曲线,可以对IT资源与业务情况进行评估,定位系统性能瓶颈和容量预警,为管理者提供扩容建议和参考,为IT投资提供量化依据。',
isDisplay:true
},
{
img:'assets/img/serviceSecond/maintenance/character-6.png',
img:'assets/img/serviceSecond/maintenance/character-6.jpg',
title:'低代码开发技术设计,实现可视化服务编排',
introduction:'提供低代码开发、降低使用门槛,运维人员不必重新构建基础工具,利用平台能力随需进行快速轻量级开发。支持多语言框架,包括但不限于Python、Java、shell、perl等语言,提供可拖拽式前端开发工具,实现前端布局可视化。提供自动化编译、构建、部署、执行等操作,实现自动部署,集成统一登录、WEB 安全防护模块、功能组件模块等通用模块。',
isDisplay:true
},
{
img:'assets/img/serviceSecond/maintenance/character-7.png',
img:'assets/img/serviceSecond/maintenance/character-7.jpg',
title:'形成以面向业务场景为驱动的服务型CMDB',
introduction:'构建符合云架构、智能监控、自动化运维的轻量级CMDB,并形成数据中心枢纽,支持多种业务场景,比如资产管理、资源可视化、运维监控、自动化运维、多云管理等等。',
isDisplay:true
},
{
img:'assets/img/serviceSecond/maintenance/character-8.png',
img:'assets/img/serviceSecond/maintenance/character-8.jpg',
title:'丰富的分析算法 拖拽式算法模型 对运维数据应用提供了无限可能',
introduction:'提供AI算法涵盖聚类、分类、回归、自然语言处理、时间序列、关联、综合评价、推荐等8大类机器学习算法。用户基干这些算法构建模型,从而开展深度数据分析,发掘蕴藏在业务数据中价值。算法分析提供了拖拽式可视化的建模功能,让用户可以通过拖拽的方式搭建机器学习实验。根据算法的不同特点选用Spark、Python等不同框架进行实现,真正做到成熟、稳定、简单、易用。',
isDisplay:true
... ... @@ -429,7 +429,7 @@ export function alarm() {
data:[
{
title:'产品信息',
introduction:'接入各个监控平台的告警与事件,通讨智能算法关联压缩告警数据,帮助识别告警根源,通过自动去重,规则压缩,算法降噪,实现告警降噪,帮助运维团队减少告警,避免告警风暴;同时通过分派、排班、通知等功能,快速实现告警流程化管理,帮助运维团队更快响应告警,以多种方式通知告警到相关人员,全面提升告警管理能力',
introduction:'接入各个监控平台的告警与事件,通过智能算法关联压缩告警数据,帮助识别告警根源,通过自动去重、规则压缩、算法降噪,实现告警降噪,帮助运维团队减少告警,避免告警风暴;同时通过分派、排班、通知等功能,快速实现告警流程化管理,帮助运维团队更快响应告警,以多种方式通知告警到相关人员,全面提升告警管理能力。',
type:'info'
},
{
... ... @@ -440,17 +440,17 @@ export function alarm() {
{
icon:'assets/img/serviceSecond/alarm/system-icon-1.png',
title:'告警监控',
introduction:'依托于本身强大的存储和查询分析能力,我们可以支持海量数据的实时查询分析、异构数据的协同分析、跨账号跨地域的协同监控等能力'
introduction:'依托于本身强大的存储和查询分析能力,我们可以支持海量数据的实时查询分析、异构数据的协同分析、跨账号跨地域的协同监控等能力'
},
{
icon:'assets/img/serviceSecond/alarm/system-icon-2.png',
title:'告警管理',
introduction:'提供了多种告警降噪能力,包括去重、合并、抑制、静默等'
introduction:'提供了多种告警降噪能力,包括去重、合并、抑制、静默等'
},
{
icon:'assets/img/serviceSecond/alarm/system-icon-3.png',
title:'行动管理',
introduction:'对接了十多种通知渠道,可以快速配置使用,并且提供了非常灵活且强大的动态分派能力'
introduction:'对接了十多种通知渠道,可以快速配置使用,并且提供了非常灵活且强大的动态分派能力'
},
{
icon:'assets/img/serviceSecond/alarm/system-icon-4.png',
... ... @@ -463,11 +463,11 @@ export function alarm() {
{
title:'告警的全生命周期',
introduction:'',
img:'assets/img/serviceSecond/alarm/lifeCycle.png',
img:'assets/img/serviceSecond/alarm/lifeCycle.jpg',
type:'lifeCycle'
},
{
title:'基于业务的告警统一管理',
title:'基于“专业分散”业务的告警统一管理',
introduction:'能够根据业务单元为粒度,统一进行告警的管理以及态势的统计分析。因此我们提供了告警管理中心,以业务为中心进行告警的统一管理每个业务都包含从资源层到事务管理的完整链路。',
img:'assets/img/serviceSecond/alarm/alarmManage.png',
type:'alarmManage'
... ... @@ -499,7 +499,7 @@ export function Aview() {
data:[
{
title:'产品信息',
introduction:'建立智能IT运维监控平台, 对网络、硬件、安全设备、操作系统、数据库、中间件、应用系统等资源实时监控采集,能够自动地收集信息系统中各类IT资源设备运行状态、数据库状态、中间件运行状态和网络状态等,发现各类IT资源运行过程中的异常。依据业务视角和设备视角分析发现已发生和潜在的各类资源问题,及时通知相关责任人和启动相关运维流程。',
introduction:'建立智能IT运维监控平台, 对网络、服务器、安全设备、操作系统、数据库、中间件、应用系统等资源实时监控采集,能够自动地收集信息系统中各类IT资源设备运行状态、数据库状态、中间件运行状态和网络状态等,发现各类IT资源运行过程中的异常。依据业务视角和设备视角分析发现已发生和潜在的各类资源问题,及时通知相关责任人和启动相关运维流程。',
type:'info'
},
/* {
... ... @@ -529,27 +529,27 @@ export function Aview() {
introduction:'',
data:[
{
icon:'assets/img/serviceSecond/Aview/service-1.png',
icon:'assets/img/serviceSecond/Aview/service-1.jpg',
title:'前瞻性',
introData:['业务前瞻、模式前瞻','架构前瞻']
},
{
icon:'assets/img/serviceSecond/Aview/service-2.png',
icon:'assets/img/serviceSecond/Aview/service-2.jpg',
title:'一站式',
introData:['全生命周期','全IT领域']
},
{
icon:'assets/img/serviceSecond/Aview/service-3.png',
icon:'assets/img/serviceSecond/Aview/service-3.jpg',
title:'敏捷性',
introData:['支持业务更快速','更高质量的发布']
},
{
icon:'assets/img/serviceSecond/Aview/service-4.png',
icon:'assets/img/serviceSecond/Aview/service-4.jpg',
title:'场景化',
introData:['不同的业务场景','提供差异化服务']
},
{
icon:'assets/img/serviceSecond/Aview/service-5.png',
icon:'assets/img/serviceSecond/Aview/service-5.jpg',
title:'智能化',
introData:['通过智能分析和','自动化提高运营效率']
}
... ... @@ -657,11 +657,11 @@ export function Aview() {
return res
}
//CMDB资产管理
//面向应用的CMDB资产管理
export function cmdb() {
let res={
title:'CMDB资产管理',
introduction:'建立以应用为中心的资源 管理模型,促进资产到资源的转变。',
title:'面向应用的CMDB资产管理',
introduction:'建立以应用为中心的资源管理模型,促进资产到资源的转变。',
data:[
{
title:'产品信息',
... ... @@ -720,27 +720,32 @@ export function cmdb() {
{
title:'数据模型管理',
introduction:'提供配置类别、配置项模型和配置关系的自定义。提供图形化界面定义CMDB的数据结构,包括CI类型、每个CI类型包含的属性、对应的CI状态取值、允许的关系类型、CI实例唯一性判断规则,定义每个CI属性字段的数据类型、合法性校验规则、数据调和规则。',
img:'assets/img/serviceSecond/cmdb/func-1.png'
img:'assets/img/serviceSecond/cmdb/func-1.jpg',
imgSm:'assets/img/serviceSecond/cmdb/func-1-sm.png'
},
{
title:'配置数据收集',
introduction:'提供企业级配置自动化发现模块,实现对IT环境中各类环境设施、IT基础架构、应用系统和业务服务信息的收集。 ',
img:'assets/img/serviceSecond/cmdb/func-2.png'
img:'assets/img/serviceSecond/cmdb/func-2.jpg',
imgSm:'assets/img/serviceSecond/cmdb/func-2-sm.png'
},
{
title:'配置数据管理',
introduction:'采用非结构化数据库技术,完成对海量CMDB信息的管理,包括维护模型、配置项、关系映射的版本,对采集获取的管理对象数据进行模型化和实例化,并将配置项实例映射到应用服务和业务服务。',
img:'assets/img/serviceSecond/cmdb/func-3.png'
img:'assets/img/serviceSecond/cmdb/func-3.jpg',
imgSm:'assets/img/serviceSecond/cmdb/func-3-sm.png'
},
{
title:'数据消费服务',
introduction:'提供可视化拓扑展现、报表、访问权限控制等功能。同时为外部运维场景消费CMDB中存储的各类资源配置数据提供标准Restful API接口。',
img:'assets/img/serviceSecond/cmdb/func-4.png'
img:'assets/img/serviceSecond/cmdb/func-4.jpg',
imgSm:'assets/img/serviceSecond/cmdb/func-4-sm.png'
},
{
title:'关系可视化展现',
introduction:'提供从应用视角、网络环境视角、业务逻辑视角等可视化展现IT设备之间、IT设备和业务之间、业务和业务之间的关联关系,使IT管理人员对信息的理解和应用关联一目了然。',
img:'assets/img/serviceSecond/cmdb/func-5.png'
img:'assets/img/serviceSecond/cmdb/func-5.jpg',
imgSm:'assets/img/serviceSecond/cmdb/func-5-sm.png'
}
],
type:'func'
... ... @@ -748,11 +753,11 @@ export function cmdb() {
{
title: 'IT资产生命周期流程化管理',
introduction: '',
icon:'assets/img/serviceSecond/cmdb/lifeCycle.png',
icon:'assets/img/serviceSecond/cmdb/lifeCycle.jpg',
dataLife:[
{
title:'',
introData:['CMDB是数据管道、ITSM是流程管道,CMDB支持ITSM流程的运转,并于流程所经之处在CMDB留痕,对IT资产的生命周期内业务相关流程进行管理,从而实现全生命周期的信息记录和审计']
introData:['CMDB是数据管道、ITSM是流程管道,CMDB支持ITSM流程的运转,并于流程所经之处在CMDB留痕,对IT资产的生命周期内业务相关流程进行管理,从而实现全生命周期的信息记录和审计']
},
{
title:'资产续保',
... ... @@ -831,7 +836,7 @@ export function cloud() {
title:'产品信息',
introduction:'支持了国内外所有主流云厂商,包含混合云、多云环境下对计算资源的集中管理,自动化运维、监控、合规审计、多云纳管、云资源全生命周期等多个维度提供统一运维管控,提供系统映像、通过既定策略优化工作负载,系统运行状态,以及任务执行过程的可视化监控,并提供丰富的告警机制帮助客户进行快速处理,从而进行灵活的资源管理与运维。',
type:'info',
img:'assets/img/serviceSecond/cloud/info.png',
img:'assets/img/serviceSecond/cloud/info.jpg',
},
{
title: '',
... ... @@ -912,28 +917,28 @@ export function cloud() {
introduction:'',
dataC:[
{
img:'assets/img/serviceSecond/cloud/character-1.png',
img:'assets/img/serviceSecond/cloud/character-1.jpg',
title:'多云资源统一管理',
introData:[
'可纳管多家主流私有云、公有云的计算、存储、网络等资源,实现资源台账可视化、资源操作便捷化以及多租户多层级的资源配额管理和数据分权。'
]
},
{
img:'assets/img/serviceSecond/cloud/character-2.png',
img:'assets/img/serviceSecond/cloud/character-2.jpg',
title:'多云环境自动化编排',
introData:[
'通过对云资源的蓝图设计、服务发布、服务申请、工单管理以及资源回收等,帮助客户实现资源的自动化运维和全生命周期管理。'
]
},
{
img:'assets/img/serviceSecond/cloud/character-3.png',
img:'assets/img/serviceSecond/cloud/character-3.jpg',
title:'多云资源统一运维和监控',
introData:[
'提供灵活可配的告警策略管理、微信邮件等多种方式的告警通知、资源性能指标和健康状态的统一分析等,帮助用户实时掌握全局资源的运行状态。'
]
},
{
img:'assets/img/serviceSecond/cloud/character-4.png',
img:'assets/img/serviceSecond/cloud/character-4.jpg',
title:'多维数据可视化',
introData:[
'通过自定义仪表盘实现资源用量的数据可视化分析;以资源池、集群、租户、主机等维度分析多云资源使用情况与变化趋势'
... ...

125 KB | W: | H:

135 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin

86.9 KB | W: | H:

167 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin

167 KB | W: | H:

37.2 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin

46.9 KB | W: | H:

17.2 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin

46.3 KB | W: | H:

19.8 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin

42.6 KB | W: | H:

16.9 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin

74.6 KB | W: | H:

28.8 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin

99.9 KB | W: | H:

88.1 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin

93.7 KB | W: | H:

34.5 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin

73.1 KB | W: | H:

27.5 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin

193 KB | W: | H:

51.1 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
... ... @@ -37,8 +37,35 @@
$('.logo-outer .hg-logo').attr('src','assets/img/logo-footer.png');
$('.navigation').addClass('navigation-white');
}
}
//产品二级页面滚动后二级导航
if(windowpos >= 250){
if($(window).width()>991){
$('.intro-tab').addClass('intro-tab-scroll');
//当前可视区域的高度
let winH=$(window).height();
let dataTypeEle=$("[data-type]");
if(dataTypeEle && dataTypeEle.length>0){
dataTypeEle.map((index,item)=>{
//每一个锚点距离顶部的高度
let itemH=$(item).offset().top;
if(windowpos<itemH){
if(windowpos+winH>=itemH){
$('.tab-item-li .tab-item').removeClass('tab-item-active');
let type=$(item).data('type');
$('.tab-item-li [data-target="[data-type='+type+']"]').addClass('tab-item-active');
}
}
})
}
}
}else{
$('.intro-tab').removeClass('intro-tab-scroll');
$('.tab-item-li .tab-item').removeClass('tab-item-active');
$('.tab-item-li:first-child .tab-item').addClass('tab-item-active');
}
}
}
... ...
... ... @@ -114,7 +114,7 @@
<!--Footer Column-->
<div class="col-sm-4">
<div class="footer-widget logo-widget mr-35">
<div class="footer-widget logo-widget footer-mr-35">
<div class="footer-logo">
<router-link to="/"><img class="logo-footer-img" src="assets/img/logo-footer.png" alt="" title=""></router-link>
</div>
... ... @@ -134,7 +134,7 @@
<ul>
<li><router-link to="/services/alarm">综合告警智能算法平台</router-link></li>
<li><router-link to="/services/Aview">综合监控管理A-view</router-link></li>
<li><router-link to="/services/cmdb">CMDB资产管理</router-link></li>
<li><router-link to="/services/cmdb">面向应用的CMDB资产管理</router-link></li>
<li><router-link to="/services/businessApp">业务及应用综合分析平台</router-link></li>
</ul>
</div>
... ... @@ -143,7 +143,7 @@
<div class="col-sm-4">
<div class="footer-widget links-widget">
<h4 style=" font-weight: 600;position: relative;margin-bottom: 40px;text-transform: capitalize;">&nbsp;</h4>
<h4 class="footer-title-none">&nbsp;</h4>
<div class="widget-content">
<ul>
<li><router-link to="/services/securityLog">日志综合智能分析平台</router-link></li>
... ... @@ -169,7 +169,7 @@
<li>
<router-link to="/about/1" data-id="1">公司简介</router-link>
</li>
<li><router-link to="/about/6" data-id="6">合作流程</router-link></li>
<!-- <li><router-link to="/about/6" data-id="6">合作流程</router-link></li>-->
</ul>
</div>
</div>
... ... @@ -181,10 +181,9 @@
<h4 class="footer-title">联系我们</h4>
<div class="office-info">
<ul>
<li>北京电话:010-51726651</li>
<li>西安电话:029-89194260</li>
<li>地址:北京市海淀区中关村南大街2号数码大厦B座11层</li>
<li>地址:陕西省西安市雁塔区金桥国际18层</li>
<li>邮箱: <a href="mailto:hr@honggroup.com.cn">hr@honggroup.com.cn</a></li>
<li>地址:北京市海淀区中关村南大街2号数码大厦B座</li>
<li>地址:陕西省西安市雁塔区金桥国际C座</li>
</ul>
</div>
</div>
... ... @@ -196,13 +195,13 @@
</div>
<!--Copyright-->
<div class="footer-bottom">
<div class="copyright">北京鸿果秋实科技有限公司@2016-2022.com版权所有
<div class="copyright">北京鸿果秋实科技有限公司
<a class="copyright-a" href="https://beian.miit.gov.cn/">
京ICP备16044493号-1
</a>
<a class="copyright-a" href="http://www.beian.gov.cn/portal/registerSystemInfo?domainname=honggroup.com.cn">
<a class="copyright-a" href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=11010802040581">
<img src="assets/img/beian.png" alt="" title="">
京公网安备honggroup.com.cn
京公网安备11010802040581
</a>
</div>
... ...
... ... @@ -218,7 +218,39 @@ export default {
}
});
}
if ($('.team-carousel-sm').length) {
$('.team-carousel-sm').owlCarousel({
loop: true,
items: 2,
margin: 20,
center:true,
nav: false,
dots: true,
active: true,
dotsEach: 2,
smartSpeed: 1000,
// autoplay: 5000,
navText:'',
// navText: ['<span class="flaticon-left-arrow"></span>', '<span class="flaticon-right-arrow"></span>'],
/*responsive: {
0: {
items: 3,
},
575: {
items: 3,
},
768: {
items: 3,
},
992: {
items: 3,
},
1200: {
items: 3,
}
}*/
});
}
// Scroll to a Specific Div
if ($('.scroll-to-target').length) {
... ... @@ -227,7 +259,7 @@ export default {
//lsq 产品二级页面的二级导航锚点 2022-09-19
let top=$(target).offset().top
if($(this).hasClass('tab-item') || $(this).hasClass('scroll-item')){
top-=100;
top-=150;
}
// animate
$('html, body').animate({
... ...
... ... @@ -20,7 +20,7 @@ const routes = [
component: () => myImport('views/concat/index'),
},
{
path:"/recruit/:job",
path:"/concat/recruit/:job",
name:"Recruit",
component: () => myImport('views/serviceSecond/recruit/index')
},
... ... @@ -60,7 +60,7 @@ const routes = [
name: 'Aview',
component: () => myImport('views/serviceSecond/Aview/index')
},
//CMDB资产管理
//面向应用的CMDB资产管理
{
path: '/services/cmdb',
name: 'cmdb',
... ... @@ -103,7 +103,7 @@ router.beforeEach(async (to, from, next) => {
$('html, body').animate({
scrollTop: 0
}, 100);
$('.collapse').removeClass('show');
next();
})
... ...
... ... @@ -9,18 +9,25 @@
<img src="assets/img/shapes/shape3.png" alt="Shape">
</div>
</section>
<div class="wrap" @Mousewheel="MousewheelFun">
<div class="wrap" @Mousewheel="MousewheelFun" @touchmove="touchFun" @touchstart="touchFunStart">
<div class="wrap-container">
<section class="concat-about rel rpt-150 pb-130 rpb-0 text-left ">
</section>
<section class="about-section rel all-height">
<div class="container about-container">
<div class="about-content mr-20 rmr-0 rmb-50 wow customFadeInRight delay-0-2s slow">
<div class="about-content about-content-intro mr-20 rmr-0 rmb-50 wow customFadeInRight delay-0-2s slow">
<div class="section-title mb-35">
<span class="title-style">公司简介</span>
</div>
<!-- <div class="title-intro color-white">北京鸿果秋实科技有限公司2012年成立,定位于提供4S信息化解决方案的高科技公司:(Software-软件,Service-服务,Solution-解决方案,Sale-销售),公司专注于软件解决方案和整体服务交付领域,已陆续成为税务、社保、财政、通信运营商等行业,IT运维领域的领先者。北京鸿果科技依托“金税三期” 、“互联网+智能化AI+行业应用”的变革时机,充分运用智能化、运维大数据思维,引入AI、算法和业务深度理解,共同打造AIOps生态圈。公司基于多年政府行业的市场、销售、技术、产品经验积累,先后在多省市政府、央企承建了“综合监控管理平台(A-view V1.0)、自动化巡检平台、智能告警算法平台、数据安全运维管理平台、一体化运维大数据管理应用平台(D-viewV1.0)”等,陆续承建了浙江省、新疆、陕西、贵州、天津、吉林、辽宁、内蒙古、宁夏等税务局“金三”重大信息化项目。 目前公司拥有《国家高新企业》《中国信息安全服务集成资质》、《中国信息安全运维资质》、 《软件企业》资质、多项自主的软件著作权,评选为“优秀信息化软件企业合作伙伴”、“专精特新”企业。</div>-->
<div class="about-intro" v-for="itemI in introData">
<div class="title-intro about-intro-title pb-10 pt-10" v-if="itemI.title">{{itemI.title}}</div>
<div class="title-intro" v-if="itemI.intro">{{itemI.intro}}</div>
<div class="about-intro-img">
<img :src="itemI.img" class="pb-10 pt-10" alt="" v-if="itemI.img">
</div>
</div>
</div>
</div>
<!-- <div class="know-intro"></div>-->
... ... @@ -35,7 +42,7 @@
</section>
<section class="about-section rel text-center">
<div class="container about-container">
<div class="container about-container culturalValues-container">
<div class="row wow customFadeInRight delay-0-1s slow">
<div class="col-lg-12 col-md-12 pt-60">
<div class="title-style">鸿果文化价值观及企业目标</div>
... ... @@ -64,6 +71,9 @@
</div>-->
</div>
<div class="culturalValues-bg wow customFadeInRight delay-0-1s slow"></div>
<div class="culturalValues-bg-sm wow customFadeInRight delay-0-1s slow">
<img src="assets/img/about/cultural-img-sm.jpg" alt="">
</div>
<div class="shape shapeAnimationOne l-10 t-0">
<img src="assets/img/shapes/shape3.png" alt="Shape">
... ... @@ -72,7 +82,7 @@
<img src="assets/img/shapes/shape1.png" alt="Shape">
</div>
</section>
<section class="success-section pt-135 pb-20">
<section class="success-section flaticon-section pt-135 pb-20">
<div class="container">
<div class="row">
<div class="col-lg-3 col-md-6">
... ... @@ -173,6 +183,17 @@
</div>
</div>
<div class="team-carousel-sm owl-carousel text-center qualification-con owl-dots">
<div class="qualification-item" v-for="item in imgs">
<div class="item-con">
<img :src="item.path" alt="资质&证书">
</div>
<div class="item-name">
{{item.name}}
</div>
</div>
</div>
</div>
<div class="qualification-bg"></div>
<div class="shape shapeAnimationFour l-10 t-100">
... ... @@ -183,7 +204,7 @@
</div>
</section>
<section class="about-section rel text-center">
<div class="container">
<div class="container about-process-container">
<div class="row wow customFadeInRight delay-0-1s slow">
<div class="col-lg-12 col-md-12">
<div class="title-style pt-20">合作流程</div>
... ... @@ -191,7 +212,8 @@
</div>
</div>
<div class="about-process pt-60">
<img src="assets/img/about/hzlc.png">
<img class="hzlc" src="assets/img/about/hzlc.png">
<img class="hzlc-sm" src="assets/img/about/hzlc-sm.png">
</div>
</div>
<div class="about-concat mt-10">
... ... @@ -199,7 +221,7 @@
<div class="about-concat-con">
<div class="about-concat-btn" @click="isConcat=!isConcat">
<span v-if="!isConcat">联系咨询我们</span>
<span v-if="isConcat">010-51726651</span>
<a href="tel:010-51726651" v-if="isConcat">010-51726651</a>
</div>
</div>
<div class="about-concat-bg"></div>
... ...
import pageInit from "../../minixs/pageInit.js";
import {culturalValuesDatas,culturalDatas,imgsDatas} from "../../../../assets/img/data/aboutData.js";
import {culturalValuesDatas,culturalDatas,imgsDatas,introDatas} from "../../../../assets/img/data/aboutData.js";
export default {
name: 'home',
template: '',
... ... @@ -10,29 +10,44 @@ export default {
const {proxy} = Vue.getCurrentInstance();
let culturalValuesData=Vue.ref(culturalValuesDatas());
let culturalData=Vue.ref(culturalDatas());
let introData=Vue.ref(introDatas());
var imgs = Vue.ref(imgsDatas());
let flag =Vue.ref(true);
let i=Vue.ref(0);
let MousewheelFun=(e)=>{
let setWrap = (Y,type) =>{
let hei=$('.wrap-container>section').first().outerHeight();
let heiF=$('.footer-section-con').outerHeight();
let sectionLength=$('.wrap-container>section').length;
$('.wrap-container section:nth-child('+(i.value+1)+') .wow').removeAttr('style');
// 控制滑动一次
if(flag.value){
// 上滑
if(e.deltaY<0){
// 不能上滑了
if(i.value>0){
i.value--;
flag.value = false;
$('.wrap-container').animate({top:-i.value*hei},1000,function(){
flag.value=true;
})
if(type == 'mouse'){
// 上滑
if(Y<0){
// 不能上滑了
if(i.value>0){
i.value--;
flag.value = false;
$('.wrap-container').animate({top:-i.value*hei},1000,function(){
flag.value=true;
})
}
}//下滑
else{
// 这个if让它不能让下继续滑动
if(i.value<7){
i.value++;
flag.value = false;
let top=-i.value*hei;
if(i.value+1==sectionLength){
top=-i.value*hei+(hei-heiF);
}
$('.wrap-container').animate({top:top},1000,function(){
flag.value=true;
})
}
}
}//下滑
else{
}else if(type=='touchDown'){
// 这个if让它不能让下继续滑动
if(i.value<7){
i.value++;
... ... @@ -45,7 +60,21 @@ export default {
flag.value=true;
})
}
}else if(type=='touchUp'){
if(i.value>0){
i.value--;
flag.value = false;
$('.wrap-container').animate({top:-i.value*hei},1000,function(){
flag.value=true;
})
}
}
}
}
let MousewheelFun=(e)=>{
if($(window).width()>767){
setWrap(e.deltaY,'mouse')
}
setTimeout(function (){
setNavStyle();
... ... @@ -63,6 +92,33 @@ export default {
}
}
//移动端滑动
let startX=Vue.ref(0);
let startY=Vue.ref(0);
let endX=Vue.ref(0);
let endY=Vue.ref(0)
let touchFunStart =(e)=>{
startX.value=e.touches[0].pageX;
startY.value=e.touches[0].pageY;
}
let touchFun =(e)=>{
if($(window).width()>767){
endX.value=e.changedTouches[0].pageX;
endY.value=e.changedTouches[0].pageY;
let X=endX.value-startX.value;
let Y=endY.value-startY.value;
if(Math.abs(Y) > Math.abs(X) && Y>0){
//向下
setWrap(e.deltaY,'touchUp')
}else if(Math.abs(Y) > Math.abs(X) && Y<0){
//向上
setWrap(e.deltaY,'touchDown')
}
}
}
//联系方式是否出现
let isConcat=Vue.ref(false);
//设置从footer进入页面的显示位置
... ... @@ -103,7 +159,14 @@ export default {
i,
isConcat,
setNavStyle,
setFormFooter
setFormFooter,
touchFun,
touchFunStart,
startX,
startY,
endX,
endY,
introData
}
}
... ...
... ... @@ -13,8 +13,8 @@
<section class="concat-concat rel rpt-150 pb-130 rpb-0 text-left ">
<div class="color-white mb-2 title-style font-size-42">加入鸿果,成为您想成为的人</div>
<div class="color-white mb-2 pt-20 font-size-24">齐心协力、积极乐观、共同发展、团队共赢!</div>
<div class="color-white mb-2 title-intro pt-20">具备足够的勇气及长远的眼光,大家携手一起,齐心协力,积极乐观,朝共同的目标前进实现共同发展及利益最大化</div>
<div class="color-white mb-2 pt-20 font-size-24">我们的价值观:担当、拼搏、共赢! </div>
<!-- <div class="color-white mb-2 title-intro pt-20">具备足够的勇气及长远的眼光,大家携手一起,齐心协力,积极乐观,朝共同的目标前进实现共同发展及利益最大化</div>-->
<div class="concat-btn mt-50" @click="routerPath('sale')">
<span class="mr-15">招贤纳士</span> <img src="assets/img/concat/arrow-right.png" alt="">
</div>
... ... @@ -34,7 +34,7 @@
</div>
<div class="col-lg-6">
<div class="service-left-image wow customFadeInLeft delay-0-1s slow">
<img style="border-radius: 25px" src="assets/img/concat/s1.png" alt="Service image">
<img style="border-radius: 25px" src="assets/img/concat/s1.jpg" alt="Service image">
</div>
</div>
</div>
... ... @@ -55,7 +55,7 @@
</div>
<div class="col-lg-6">
<div class="service-right-image wow customFadeInRight delay-0-1s slow">
<img style="border-radius: 25px" src="assets/img/concat/s2.png" alt="Service image">
<img style="border-radius: 25px" src="assets/img/concat/s2.jpg" alt="Service image">
</div>
</div>
</div>
... ... @@ -78,7 +78,7 @@
</div>
<div class="col-lg-6">
<div class="service-left-image wow customFadeInLeft delay-0-1s slow">
<img style="border-radius: 25px" src="assets/img/concat/s3.png" alt="Service image">
<img style="border-radius: 25px" src="assets/img/concat/s3.jpg" alt="Service image">
</div>
</div>
</div>
... ...
... ... @@ -12,7 +12,7 @@ export default {
recruitHot.value = recruit().hot;
let routerPath=(val)=>{
proxy.$router.push('/recruit/'+val)
proxy.$router.push('/concat/recruit/'+val)
}
return{
recruitHot,
... ...
... ... @@ -14,15 +14,15 @@
<div class="owl-carousel owl-theme owl-loaded all-height">
<div class="owl-stage-outer owl-height all-height">
<div class="owl-stage all-height">
<div :class="['owl-item', 'all-height',{'scroll-to-target':index==0,'cursor-pointer':index==0,'scroll-item':index==0}] " data-target=".team-section" v-for="(item,index) in homeData"
:style="'background: url(assets/img/index/' + (index+1) + '.png);'">
<div :class="['owl-item','home-bg-'+(index+1), 'all-height',{'scroll-to-target':index==2,'cursor-pointer':index==2,'scroll-item':index==2}] " data-target=".team-section" v-for="(item,index) in homeData"
>
<!-- <img :src="'assets/img/index/' + (index+1) + '.png'" class="d-block w-100 h-75">-->
<div :class="['owl-item-content']">
<div :class="['owl-item-title', 'font-size-42',{'text-align-center':index==2}]">{{item.title}}</div>
<div :class="['owl-item-title', 'font-size-42',{'text-align-center':index==1}]">{{item.title}}</div>
<div class="owl-item-title font-size-42" v-if="item.title1">{{item.title1}}</div>
<div class="pt-30 title-intro-top text-align-center" v-if="item.introTitle">{{item.introTitle}}</div>
<div :class="['owl-item-intro', 'title-intro-top', {'pt-10':item.introTitle,'pt-30':!item.introTitle,'text-align-center':index==2,'max-width-6':index!=2}]">{{item.introduction}}</div>
<div :class="['owl-item-button', 'pt-30',{'text-align-center':index==2}]" >
<div :class="['owl-item-intro', 'title-intro-top', {'pt-10':item.introTitle,'pt-30':!item.introTitle,'text-align-center':index==1,'max-width-6':index!=1}]">{{item.introduction}}</div>
<div :class="['owl-item-button', 'pt-30',{'text-align-center':index==1}]" >
<span class="home-button btn-service" v-if="item.isService" @click="jumpSecond('services')">查看产品</span>
<span class="home-button btn-concat" v-if="item.isConcat" @click="jumpSecond('concat')">联系我们</span>
</div>
... ... @@ -39,19 +39,26 @@
<div class="title-style">技术优势</div>
<div class="title-intro pt-20">以AI激活运维数据智慧,助力客户数字化运维</div>
<div class="row pt-30">
<div v-for="(item,index) in techData" :key="item" class="col-lg-3 col-md-6 col-lg-3-self">
<div v-for="(item,index) in techData" :key="item" class="col-lg-3 col-md-6 tech-item col-lg-3-self">
<div class="single-service-box style-three">
<div class="service-icon" data-toggle="tooltip" @mouseenter="tooltipHover(item.id)"
@mouseleave="tooltipLeave">
<div>
<img :src="'assets/img/technology/technology-'+item.id+'.png'" alt="Service Icon">
<div class="tech-img-con">
<div class="tech-img">
<img :src="'assets/img/technology/technology-'+item.id+'.png'" alt="Service Icon">
</div>
</div>
<div class="tech-title-num">{{index+1}}</div>
<div class="tech-title pt-30 pb-30">{{item.title}}</div>
<div :class="[ 'tooltip', 'tooltip-self','flex-column-center',{'opacity1':item.isHover,'opacity0':!item.isHover}]">
<div>{{item.title}}</div>
<div>{{item.tipIntro}}</div>
</div>
<div class="tech-introCon-sm">
<div class="tech-title-sm">{{item.title}}</div>
<div class="tech-intro-sm">{{item.tipIntro}}</div>
</div>
</div>
</div>
</div>
... ... @@ -66,11 +73,11 @@
<img src="assets/img/shapes/shape1.png" alt="Shape">
</div>
</section>
<section class="rel text-center pt-30 pb-30">
<section class="rel text-center pt-30 pb-30 principle-section">
<div class="container">
<div class="row align-items-center pt-30">
<div class="row align-items-center pt-30 principle-section-item">
<div class="col-lg-12">
<div class="about-content mr-20 rmr-0 rmb-50 wow customFadeInRight delay-0-1s slow text-center">
<div class=" mr-20 rmr-0 rmb-50 text-center">
<div class="mb-35">
<div class="title-style">魔镜智能运维建设三大原则</div>
</div>
... ... @@ -110,18 +117,18 @@
</div>
</section>
<section class="about-section rel pt-60 pb-70">
<section class="about-section rel pt-60 route-about-section">
<div class="container">
<div class="row align-items-center">
<div class="col-lg-12">
<div class="about-content mr-20 rmr-0 rmb-50 wow customFadeInRight delay-0-1s slow text-center">
<div class="section-title mb-35">
<div class=" mr-20 rmr-0 rmb-50 text-center">
<div class=" mb-35">
<div class="title-style route-title">魔镜智能运维建设六步走路线</div>
</div>
</div>
</div>
</div>
<div class="color-white">
<div class="color-white route-con">
<div :class="['step-route-item',{'step-route-item-active':stepActive==index}]" v-for="(item,index) in stepRoute" @mouseenter="showHover(index)" @mouseleave="hideHover">
{{item}}
</div>
... ... @@ -135,8 +142,16 @@
<img src="assets/img/shapes/shape2.png" alt="Shape">
</div>
</section>
<section class="about-section route-section">
<div class="step-route-bg">
<img src="assets/img/index/step-route-bg.jpg" alt="">
</div>
<div class="step-route-bg-sm">
<img src="assets/img/index/step-route-bg-sm.jpg" alt="">
</div>
<section class="team-section rel pt-80 pb-80">
</section>
<section class="team-section rel pt-80 pb-80 compatible-section">
<div class="container">
<div class="mb-35 pr-65 align-items-center flex-column-center">
<div class="title-style">“魔镜智能”全面完成国产化兼容适配认证</div>
... ... @@ -147,6 +162,9 @@
<img v-if="compatibleActive+1!=item.id" :src="'assets/img/index/'+item.logoUrl+'.png'" alt="">
<img v-if="compatibleActive+1==item.id" :src="'assets/img/index/'+item.logoUrlTip+'.png'" alt="">
</div>
<div class="section-item-sm">
<div :class="['section-item-sm-icon',{'section-item-active':compatibleActive==index}]" @mouseenter="showHoverCompatible(index)" @mouseleave="hideHoverCompatible()" v-for="(item,index) in logoData">{{item.name}}</div>
</div>
</div>
<!-- <div class="team-carousel owl-carousel text-center" ref="teamCarousel">-->
<div class="compatible-carousel text-center" >
... ...
... ... @@ -51,7 +51,7 @@
<img :src="item.img" alt="">
</div>
<div class="row mt-60 dataAbility-con" v-if="item.dataAbility && item.dataAbility.length>0">
<div class="col-md-6 dataAbility-col" v-for="(itemD,indexD) in item.dataAbility">
<div class="col-lg-6 dataAbility-col" v-for="(itemD,indexD) in item.dataAbility">
<div class="dataAbility-item">
<div class="dataAbility-item-title">{{itemD.title}}</div>
<div class="dataAbility-item-intro pt-20">
... ...
... ... @@ -36,7 +36,7 @@
<img :src="item.img" alt="">
</div>
<div class="row pt-50" v-if="item.data && item.data.length>0">
<div class="col-md-3 flex-start-column " v-for="(itemC,indexC) in item.data">
<div class="col-lg-3 col-md-6 flex-start-column alarm-system" v-for="(itemC,indexC) in item.data">
<div class="system-bg pd-20">
<img class="" :src="itemC.icon" alt="">
<h4 class="pt-30">{{itemC.title}}</h4>
... ...
... ... @@ -83,7 +83,7 @@
</div>
<div class="row pt-30 pb-30" v-if="item.dataFive && item.dataFive.length>0">
<div class="row-top row pt-50">
<div class="col-lg-3 info-character" @mouseover="showHover(indexV)" v-for="(itemV,indexV) in item.dataFive">
<div class="col-md-3 col-lg-3 info-character info-character-busi" @mouseover="showHover(indexV)" v-for="(itemV,indexV) in item.dataFive">
<img v-if="valueIndex!=indexV" class="" :src="itemV.icon" alt="">
<img v-if="valueIndex==indexV" class="" :src="itemV.iconA" alt="">
<div class="pt-30">
... ... @@ -101,12 +101,12 @@
</div>
</div>
<div class="row pt-60 pb-30 kpi-row" v-if="item.dataKpi && item.dataKpi.length>0">
<div class="col-2 kpi-item" v-for="itemK in item.dataKpi">
<div class="col-md-2 kpi-item" v-for="itemK in item.dataKpi">
<div class="kpi-con">{{itemK}}</div>
</div>
</div>
<div class="row mt-60 row-com" v-if="item.dataCom && item.dataCom.length>0">
<div class="col-3 col-lg-3-self com-item" v-for="itemC in item.dataCom">
<div class="col-md-4 col-lg-3 col-lg-3-self com-item" v-for="itemC in item.dataCom">
<div class="com-item-con">
<div class="com-item-title">{{itemC.title}}</div>
<div class="com-item-ul">
... ...
... ... @@ -36,7 +36,7 @@
<div class="info-intro-item" v-for="itemI in item.introData">{{itemI}}</div>
</div>
<div class="row pt-30" v-if="item.data && item.data.length>0">
<div class="col-md-3 flex-start-column " v-for="(itemC,indexC) in item.data">
<div class="col-lg-3 col-md-6 flex-start-column " v-for="(itemC,indexC) in item.data">
<div class="app-bg pd-25">
<img class="" :src="itemC.icon" alt="">
<div class="pt-30 app-title">{{itemC.title}}</div>
... ... @@ -60,13 +60,13 @@
</div>
<div class="row mt-40 pb-30" v-if="item.dataFunc && item.dataFunc.length>0">
<div class="func-top row">
<div @click="changeFunc(indexF)" :class="['col-lg-2', 'func-top-item',{'func-item-active':funcActive==indexF}]" v-for="(itemF,indexF) in item.dataFunc">
<div @click="changeFunc(indexF)" :class="['col-lg-2','col-md-4', 'func-top-item',{'func-item-active':funcActive==indexF}]" v-for="(itemF,indexF) in item.dataFunc">
{{itemF.title}}
</div>
</div>
<div class="func-bottom row pt-30">
<div :class="'func-bottom row pt-30 func-bg-'+(funcActive+1)">
<div class="col-lg-6 func-bottom-title"><span></span><span>{{funcTitle}}</span></div>
<div :class="['col-lg-6', 'func-bottom-intro','flex-column-center',{'func-l-p':funcActive==1}]">
<div :class="['col-lg-6', 'func-bottom-intro','flex-column-center',{'func-l-p':funcActive==1,'func-l-1':funcActive==0}]">
<div class="func-bottom-con ">
<span class="func-symbol"></span>
<span class="funcIntro-span">{{funcIntro}}</span>
... ...
... ... @@ -58,7 +58,7 @@
</div>
<div class="row pt-30" v-if="item.dataThird && item.dataThird.length>0">
<div class="col-lg-4" v-for="(itemV,indexV) in item.dataThird">
<div class="info-value" >
<div class="info-value info-value-center" >
<img class="" :src="itemV.img" alt="">
<div :class="['info-value-title']">
<h3>{{itemV.title}}</h3>
... ...
... ... @@ -52,22 +52,22 @@
</div>
</div>
<div :class="[{'pro-advantage':item.type=='advantage'}]"></div>
<div class="row pt-30" v-if="item.dataFour && item.dataFour.length>0">
<div class="pt-30" v-if="item.dataFour && item.dataFour.length>0">
<div class="row-top row" v-for="(itemC,indexC) in item.dataFour" >
<div class="col-lg-6" v-if="indexC==characterActive">
<img class="" :src="itemC.img" alt="">
</div>
<div class="col-lg-6 flex-column-center " v-if="indexC==characterActive">
<h3>{{itemC.title}}</h3>
<h3 class="maintenance-title">{{itemC.title}}</h3>
<div class="pt-30">{{itemC.introduction}}</div>
</div>
</div>
<div class="row-bottom row pt-30">
<i class="iconCharacter icon-left" @click="prev(item.dataFour.length)"></i>
<div class="dot-container row">
<div @click="changeCharacter(indexC)" :class="['dot-item', 'col-lg-4', {'dot-item-active':indexC==characterActive,'div-hide':!itemC.isDisplay}]" v-for="(itemC,indexC) in item.dataFour">
<div @click="changeCharacter(indexC)" :class="['dot-item', 'col-lg-3', {'dot-item-active':indexC==characterActive,'div-hide':!itemC.isDisplay}]" v-for="(itemC,indexC) in item.dataFour">
<div class="dot-item-title" v-if="itemC.isDisplay">{{itemC.title}}</div>
<div class="dot-item-intro" v-if="itemC.isDisplay">{{itemC.introduction}}</div>
<!-- <div class="dot-item-intro" v-if="itemC.isDisplay">{{itemC.introduction}}</div>-->
</div>
</div>
<i class="iconCharacter icon-right" @click="next(item.dataFour.length)"></i>
... ...
... ... @@ -32,7 +32,7 @@ export default {
characterActive.value--
if(characterActive.value == 0 || characterActive.value+1==dataLength-6){
setDisplay();
}else if(characterActive.value+1==dataLength-3 ){
}else if(characterActive.value+1==dataLength-4 ){
changeDot(dataLength,2);
}
}else if(characterActive.value == 0){
... ... @@ -54,11 +54,11 @@ export default {
//特点左右点击切换
let changeDot=(dataLength,flag)=>{
if(flag==1){
//当前为第一个时向前点击
//当前为第一个时向前点击
maintenanceData.data.map((item,index)=>{
if(item.type == 'character'){
item.dataFour.map((v,i)=>{
if(i>characterActive.value-3){
if(i>characterActive.value-4){
v.isDisplay=true;
}else{
v.isDisplay=false;
... ... @@ -71,7 +71,7 @@ export default {
maintenanceData.data.map((item,index)=>{
if(item.type == 'character'){
item.dataFour.map((v,i)=>{
if(i>characterActive.value-3 && i<=characterActive.value){
if(i>characterActive.value-4 && i<=characterActive.value){
v.isDisplay=true;
}else{
v.isDisplay=false;
... ... @@ -80,13 +80,13 @@ export default {
}
})
}else{
if(characterActive.value>2 && characterActive.value<dataLength){
if(characterActive.value>3 && characterActive.value<dataLength){
if(maintenanceData.data && maintenanceData.data.length>0){
maintenanceData.data.map((item,index)=>{
if(item.type == 'character'){
if(characterActive.value>2 && characterActive.value<6){
if(characterActive.value>3 && characterActive.value<maintenanceData.data.length){
item.dataFour.map((v,i)=>{
if(i>2 && i<6){
if(i>3 && i<=7){
v.isDisplay=true;
}else{
v.isDisplay=false;
... ... @@ -94,7 +94,7 @@ export default {
})
}else{
item.dataFour.map((v,i)=>{
if(i>=dataLength-3){
if(i>=dataLength-4){
v.isDisplay=true;
}else{
v.isDisplay=false;
... ...
... ... @@ -13,7 +13,20 @@
</div>
<div class="container clearfix recruit-container" >
<!-- <div style="margin: 0 auto;" class="clearfix">-->
<div :class="['mr-10', 'bg-white border', 'p-10', {'recruit-width':recruitHot.data && recruitHot.data.length<=1,'w-70 float-left':recruitHot.data && recruitHot.data.length>1}]">
<div class="bg-white border p-10 recruit-Hot-xl" v-if="recruitHot.data && recruitHot.data.length>1">
<div class="hot-recruit-box">
<div class="header">
<i></i>
<span class="font-size-18">{{recruitHot.head}}</span>
</div>
<ul class="m-1em">
<li class="mt-25 hotList" v-for="(item,index) in recruitHot.data">
<router-link :to=`/concat/recruit/${item.url}`>{{item.text}}</router-link>
</li>
</ul>
</div>
</div>
<div :class="['mr-10', 'bg-white border', 'p-10', {'recruit-width':recruitHot.data && recruitHot.data.length<=1,'w-70 float-left':recruitHot.data && recruitHot.data.length>1}]">
<div class="recruit-box">
<div class="header">
<i></i>
... ... @@ -50,7 +63,7 @@
<!-- <span class="btn btn-danger mt-25 mb-25 ml-15 d-inline-block min-width-100">现在申请</span>-->
</div>
</div>
<div class="bg-white border float-left p-10 w-30" v-if="recruitHot.data && recruitHot.data.length>1">
<div class="bg-white border float-left p-10 w-30 recruit-Hot-lg" v-if="recruitHot.data && recruitHot.data.length>1">
<div class="hot-recruit-box">
<div class="header">
<i></i>
... ... @@ -58,7 +71,7 @@
</div>
<ul class="m-1em">
<li class="mt-25 hotList" v-for="(item,index) in recruitHot.data">
<router-link :to=`/recruit/${item.url}`>{{item.text}}</router-link>
<router-link :to=`/concat/recruit/${item.url}`>{{item.text}}</router-link>
</li>
</ul>
</div>
... ...
... ... @@ -53,14 +53,14 @@
</div>
</div>
<div class="row-bottom row pt-30">
<i class="iconCharacter icon-left" @click="prev(item.dataFour.length)"></i>
<!-- <i class="iconCharacter icon-left" @click="prev(item.dataFour.length)"></i>-->
<div class="dot-container row">
<div @click="changeCharacter(indexC)" :class="['dot-item', 'col-lg-4', {'dot-item-active':indexC==characterActive,'div-hide':!itemC.isDisplay}]" v-for="(itemC,indexC) in item.dataFour">
<div @click="changeCharacter(indexC)" :class="['dot-item', 'col-lg-3', {'dot-item-active':indexC==characterActive,'div-hide':!itemC.isDisplay}]" v-for="(itemC,indexC) in item.dataFour">
<div class="dot-item-title" v-if="itemC.isDisplay">{{itemC.title}}</div>
<div class="dot-item-intro" v-if="itemC.isDisplay">{{itemC.introduction}}</div>
<!-- <div class="dot-item-intro" v-if="itemC.isDisplay">{{itemC.introduction}}</div>-->
</div>
</div>
<i class="iconCharacter icon-right" @click="next(item.dataFour.length)"></i>
<!-- <i class="iconCharacter icon-right" @click="next(item.dataFour.length)"></i>-->
</div>
</div>
<div class="row pt-30" v-if="item.dataFive && item.dataFive.length>0">
... ...
... ... @@ -13,14 +13,14 @@
<section class="concat-service rel rpt-150 pb-130 rpb-0 text-left ">
<div class="mb-2 title-style-top">运维数字化道路,鸿果与您同行</div>
<div class="mb-2 pt-30 title-intro-top">鸿果自研的产品--魔镜智能运维</div>
<div class="mb-2 title-intro-top pt-10">数据是智能运维的基石,算法是挖掘数据价值的关键,技术是实现智能运维的手段</div>
<div class="mb-2 pt-30 title-intro-top">鸿果自研产品—魔镜智能运维</div>
<div class="mb-2 title-intro-top pt-10">“大数据”是智能运维的基石,“算法”是关联分析数据价值的引擎,“场景”是实现智能运维的深度应用。</div>
</section>
<section class=" rel" style="height: 100px">
<div class="container">
<h2 class="page-title">产品中心</h2>
<div class="page-title">“魔镜智能”产品中心</div>
</div>
</section>
... ... @@ -42,7 +42,7 @@
</div>
<div class="col-lg-6 product-item" @click="jumpSecond(item.type)">
<div :class="[{'service-left-image':(index+1)%2==1,'service-right-image':(index+1)%2==0}, 'wow', {'customFadeInLeft':(index+1)%2==1,'customFadeInRight':(index+1)%2==0}, 'delay-0-1s', 'slow']">
<img :src="'assets/img/services/p'+(index+1)+'.png'" style="border-radius: 10px;">
<img :src="'assets/img/services/p'+(index+1)+'.jpg'" style="border-radius: 10px;">
</div>
</div>
</div>
... ...