qa_portal_vue/nuxt-demo/app/pages/index.vue

957 lines
30 KiB
Vue
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<template>
<div class="container">
<AppHead/>
<!-- banner-->
<div class="banner">
<swiper
:modules="modules"
:slides-per-view="1"
:space-between="0"
:autoplay="{ delay: 5000, disableOnInteraction: false }"
:pagination="{ clickable: true }"
class="banner-swiper"
>
<swiper-slide>
<div class="banner-slide banner-slide-1">
<div class="content">
<h1>具有专业化背景的全国领先数字化服务公司</h1>
<p>深入垂直行业以数字化技术为引擎为客户提供战略业务技术一体化的解决方案</p>
<div class="btn"><a>了解详情</a></div>
</div>
</div>
</swiper-slide>
<swiper-slide>
<div class="banner-slide banner-slide-2">
<div class="content">
<h1>具有专业化背景的全国领先数字化服务公司</h1>
<p>深入垂直行业以数字化技术为引擎为客户提供战略业务技术一体化的解决方案</p>
<div class="btn"><a>了解详情</a></div>
</div>
</div>
</swiper-slide>
</swiper>
<div class="info">
<div class="item">
<p class="num">10+</p>
<p class="text">安全生产业务评价检测资质</p>
<p class="notes">24小时随时匹配覆盖</p>
</div>
<div class="item">
<p class="num">10+</p>
<p class="text">软件著作知识产权</p>
<p class="notes">辨识风险瞬息到位</p>
</div>
<div class="item">
<p class="num">20000 +</p>
<p class="text">自制研发安全培训课件</p>
<p class="notes">自带考题完美闭环</p>
</div>
<div class="item">
<p class="num">100000 +</p>
<p class="text">安全评价职业卫生评价</p>
<p class="notes">检测报告标准化评审报告</p>
</div>
</div>
</div>
<!-- 新闻中心-->
<div class="news_container">
<div class="title">
<div class="tit">新闻中心</div>
<p>助力提升安全管理效益,满足多行业的安全生产需求</p>
</div>
<div class="new_main">
<div class="new_left">
<swiper
:modules="modules"
:slides-per-view="1"
:space-between="0"
:autoplay="{ delay: 3000, disableOnInteraction: false }"
:pagination="{ clickable: true }"
class="news-swiper"
>
<swiper-slide>
<div class="item">
<div class="img"><img src="@/assets/images/img1.png" alt="河北秦安安全科技股份有限公司"/></div>
<div class="text">
<p class="title">厚积薄发十五载上市一年更精彩秦安充满期待值得信赖</p>
</div>
</div>
</swiper-slide>
<swiper-slide>
<div class="item">
<div class="img"><img src="@/assets/images/img1.png" alt="新闻标题2"/></div>
<div class="text">
<p class="title">数字化赋能安全生产科技创新引领行业发展新方向</p>
</div>
</div>
</swiper-slide>
<swiper-slide>
<div class="item">
<div class="img"><img src="@/assets/images/img1.png" alt="新闻标题3"/></div>
<div class="text">
<p class="title">公司荣获多项行业大奖专业实力再获认可</p>
</div>
</div>
</swiper-slide>
</swiper>
</div>
<div class="new_right">
<div class="item">
<div class="img">
<img src="@/assets/images/img2.png" alt="河北秦安安全科技股份有限公司"/>
</div>
<div class="info">
<div class="title">
喜报·我司荣获2025数据要素X大赛河北分赛三等奖
</div>
<div class="time">2025-4-10</div>
<div class="text">4月10日2025数据要素X大赛启动仪式在雄安新区成功举办河北秦安安全科技股份有限公司申报的危化智融-多模态智能...</div>
</div>
</div>
<div class="item">
<div class="img">
<img src="@/assets/images/img2.png" alt="河北秦安安全科技股份有限公司"/>
</div>
<div class="info">
<div class="title">
喜报·我司荣获2025数据要素X大赛河北分赛三等奖
</div>
<div class="time">2025-4-10</div>
<div class="text">4月10日2025数据要素X大赛启动仪式在雄安新区成功举办河北秦安安全科技股份有限公司申报的危化智融-多模态智能...</div>
</div>
</div>
<div class="item">
<div class="img">
<img src="@/assets/images/img2.png" alt="河北秦安安全科技股份有限公司"/>
</div>
<div class="info">
<div class="title">
喜报·我司荣获2025数据要素X大赛河北分赛三等奖
</div>
<div class="time">2025-4-10</div>
<div class="text">4月10日2025数据要素X大赛启动仪式在雄安新区成功举办河北秦安安全科技股份有限公司申报的危化智融-多模态智能...</div>
</div>
</div>
<div class="item">
<div class="img">
<img src="@/assets/images/img2.png" alt="河北秦安安全科技股份有限公司"/>
</div>
<div class="info">
<div class="title">
喜报·我司荣获2025数据要素X大赛河北分赛三等奖
</div>
<div class="time">2025-4-10</div>
<div class="text">4月10日2025数据要素X大赛启动仪式在雄安新区成功举办河北秦安安全科技股份有限公司申报的危化智融-多模态智能...</div>
</div>
</div>
</div>
</div>
</div>
<!-- 核心产品-->
<div class="product_container">
<div class="product_main">
<div class="title">
<div class="tit">核心产品</div>
<p>安全生产数智化管理平台,满足多行业的安全生产需求</p>
</div>
<div class="product_wrap">
<div class="top_container">
<div
v-for="(item, index) in productItems"
:key="index"
class="item"
:class="{ active: activeIndex === index }"
@click="handleItemClick(index)" >
{{item. name}}
</div>
</div>
<transition name="fade" mode="out-in">
<div :key="activeIndex" class="main_container">
<div class="left">
<div class="img">
<img src="@/assets/images/img5.png" alt=""/>
</div>
<div class="title">{{ productItems[activeIndex].title }}</div>
<div class="notes">{{ productItems[activeIndex].notes }}</div>
<div class="info">
<div v-for="(info, idx) in productItems[activeIndex].infoList" :key="idx" class="list">
<img src="@/assets/images/img6.png" alt=""/>
{{ info }}
</div>
</div>
</div>
<div class="right">
<img src="@/assets/images/img7.png" alt=""/>
</div>
</div>
</transition>
</div>
</div>
</div>
<!-- 解决方案-->
<div class="solution">
<div class="solution_container">
<div class="title">
<div class="tit">解决方案</div>
<p>助力提升安全管理效益,满足多行业的安全生产需求</p>
</div>
<div class="solution_main">
<div class="item">
<div class="img"> <img src="@/assets/images/img8.png" alt="河北秦安安全科技股份有限公司"/></div>
<div class="title">政府机构</div>
<div class="info">
<div>涉及民用爆破器材的生产、销售、流通及爆破服务的提供等领域</div>
<div class="more"><img src="@/assets/images/img15.png" alt=""/></div>
</div>
</div>
<div class="item">
<div class="img"> <img src="@/assets/images/img9.png" alt="河北秦安安全科技股份有限公司"/></div>
<div class="title">民爆</div>
<div class="info">
<div>涉及民用爆破器材的生产、销售、流通及爆破服务的提供等领域</div>
<div class="more"><img src="@/assets/images/img15.png" alt=""/></div>
</div>
</div>
<div class="item">
<div class="img"> <img src="@/assets/images/img10.png" alt="河北秦安安全科技股份有限公司"/></div>
<div class="title">机械</div>
<div class="info">
<div>涉及民用爆破器材的生产、销售、流通及爆破服务的提供等领域</div>
<div class="more"><img src="@/assets/images/img15.png" alt=""/></div>
</div>
</div>
<div class="item">
<div class="img"> <img src="@/assets/images/img11.png" alt="河北秦安安全科技股份有限公司"/></div>
<div class="title">军工</div>
<div class="info">
<div>涉及民用爆破器材的生产、销售、流通及爆破服务的提供等领域</div>
<div class="more"><img src="@/assets/images/img15.png" alt=""/></div>
</div>
</div>
<div class="item">
<div class="img"> <img src="@/assets/images/img16.png" alt="河北秦安安全科技股份有限公司"/></div>
<div class="title">水务</div>
<div class="info">
<div>涉及民用爆破器材的生产、销售、流通及爆破服务的提供等领域</div>
<div class="more"><img src="@/assets/images/img15.png" alt=""/></div>
</div>
</div>
<div class="item">
<div class="img"> <img src="@/assets/images/img12.png" alt="河北秦安安全科技股份有限公司"/></div>
<div class="title">农牧</div>
<div class="info">
<div>涉及民用爆破器材的生产、销售、流通及爆破服务的提供等领域</div>
<div class="more"><img src="@/assets/images/img15.png" alt=""/></div>
</div>
</div>
<div class="item">
<div class="img"> <img src="@/assets/images/img13.png" alt="河北秦安安全科技股份有限公司"/></div>
<div class="title">风电</div>
<div class="info">
<div>涉及民用爆破器材的生产、销售、流通及爆破服务的提供等领域</div>
<div class="more"><img src="@/assets/images/img15.png" alt=""/></div>
</div>
</div>
<div class="item">
<div class="img"> <img src="@/assets/images/img14.png" alt="河北秦安安全科技股份有限公司"/></div>
<div class="title">其他</div>
<div class="info">
<div>涉及民用爆破器材的生产、销售、流通及爆破服务的提供等领域</div>
<div class="more"><img src="@/assets/images/img15.png" alt=""/></div>
</div>
</div>
</div>
</div>
</div>
<!-- 客户案例-->
<div class="case">
<div class="case_container">
<div class="title">
<div class="tit">客户案例</div>
<p>助力提升安全管理效益,满足多行业的安全生产需求</p>
</div>
<div class="case_main">
<swiper
:modules="modules"
:slides-per-view="3"
:space-between="25"
:loop="true"
:pagination="{ clickable: true }"
class="case-swiper"
>
<swiper-slide>
<div class="item">
<div class="img"></div>
<div class="info">
<div class="title">秦皇岛港股份有限公司</div>
<div class="text">把危险化学品安全摆在防范化解重大风险的突出位置,推进新一代信息技术和危险化学品安全生产深度融合,实现数字化转型...</div>
<div class="details">了解详情 ></div>
</div>
</div>
</swiper-slide>
<swiper-slide>
<div class="item">
<div class="img"></div>
<div class="info">
<div class="title">秦皇岛港股份有限公司</div>
<div class="text">把危险化学品安全摆在防范化解重大风险的突出位置,推进新一代信息技术和危险化学品安全生产深度融合,实现数字化转型...</div>
<div class="details">了解详情 ></div>
</div>
</div>
</swiper-slide>
<swiper-slide>
<div class="item">
<div class="img"></div>
<div class="info">
<div class="title">秦皇岛港股份有限公司</div>
<div class="text">把危险化学品安全摆在防范化解重大风险的突出位置,推进新一代信息技术和危险化学品安全生产深度融合,实现数字化转型...</div>
<div class="details">了解详情 ></div>
</div>
</div>
</swiper-slide>
<swiper-slide>
<div class="item">
<div class="img"></div>
<div class="info">
<div class="title">秦皇岛港股份有限公司</div>
<div class="text">把危险化学品安全摆在防范化解重大风险的突出位置,推进新一代信息技术和危险化学品安全生产深度融合,实现数字化转型...</div>
<div class="details">了解详情 ></div>
</div>
</div>
</swiper-slide>
<swiper-slide>
<div class="item">
<div class="img"></div>
<div class="info">
<div class="title">秦皇岛港股份有限公司</div>
<div class="text">把危险化学品安全摆在防范化解重大风险的突出位置,推进新一代信息技术和危险化学品安全生产深度融合,实现数字化转型...</div>
<div class="details">了解详情 ></div>
</div>
</div>
</swiper-slide>
<swiper-slide>
<div class="item">
<div class="img"></div>
<div class="info">
<div class="title">秦皇岛港股份有限公司</div>
<div class="text">把危险化学品安全摆在防范化解重大风险的突出位置,推进新一代信息技术和危险化学品安全生产深度融合,实现数字化转型...</div>
<div class="details">了解详情 ></div>
</div>
</div>
</swiper-slide>
<swiper-slide>
<div class="item">
<div class="img"></div>
<div class="info">
<div class="title">秦皇岛港股份有限公司</div>
<div class="text">把危险化学品安全摆在防范化解重大风险的突出位置,推进新一代信息技术和危险化学品安全生产深度融合,实现数字化转型...</div>
<div class="details">了解详情 ></div>
</div>
</div>
</swiper-slide>
</swiper>
</div>
</div>
<div class="case_img">
<img src="@/assets/images/img18.png" alt=""/>
</div>
</div>
<AppFoot/>
<right/>
</div>
</template>
<script setup lang="ts">
import { ref } from "vue";
import { Swiper, SwiperSlide } from "swiper/vue";
import { Autoplay, Pagination, Navigation } from "swiper/modules";
import "swiper/css";
import "swiper/css/pagination";
import "swiper/css/navigation";
const modules = [Autoplay, Pagination, Navigation];
const activeIndex = ref(0);
const productItems = [
{
name: "基层监管平台",
leftImg: "@/assets/images/img5.png",
title: "基层监管平台",
notes: "提供企业管理与政府监管的一体化服务平台。",
rightImg: "@/assets/images/img7.png",
infoList: [
"使用门槛低ChatBI 对话式分析,小白用户通过简单对话就能获取数据和洞察结论",
"语义理解强:混元 + DeepSeek 双模加持,准确理解模糊与复杂提问",
"回答更契合意图使用更便捷:支持小程序/PC/H5使用、嵌出集成随时随地分析数据",
],
},
{
name: "GBS数字底座",
leftImg: "@/assets/images/img5.png",
title: "GBS数字底座",
notes: "提供安全可控的企业级数据中台解决方案。",
rightImg: "@/assets/images/img7.png",
infoList: [
"数据统一管理:实现数据资产的统一存储与管理",
"高效开发:提供低代码开发能力,快速构建业务应用",
"灵活扩展:支持私有化部署,满足不同规模企业需求",
],
},
{
name: "一体化智能云平台",
leftImg: "@/assets/images/img5.png",
title: "一体化智能云平台",
notes: "安全生产全流程数字化管理平台。",
rightImg: "@/assets/images/img7.png",
infoList: [
"云端部署:无需本地安装,开箱即用",
"智能预警AI驱动的风险预警机制",
"移动办公:支持多终端访问,随时随地办公",
],
},
{
name: "安全培训开发者平台",
leftImg: "@/assets/images/img5.png",
title: "安全培训开发者平台",
notes: "提供专业安全培训课程开发与管理工具。",
rightImg: "@/assets/images/img7.png",
infoList: [
"海量课件内置20000+专业安全培训课件",
"自定义开发:支持企业自定义培训内容",
"智能考试:自动生成考题,完美闭环管理",
],
},
{
name: "服务机构自我赋能平台",
leftImg: "@/assets/images/img5.png",
title: "服务机构自我赋能平台",
notes: "帮助安全服务机构提升服务能力与效率。",
rightImg: "@/assets/images/img7.png",
infoList: [
"项目管理:全流程项目跟踪与管理",
"报告生成:智能化报告生成工具",
"数据分析:多维度数据分析与展示",
],
},
{
name: "应急管理大数据中心",
leftImg: "@/assets/images/img5.png",
title: "应急管理大数据中心",
notes: "应急管理数据汇聚与分析平台。",
rightImg: "@/assets/images/img7.png",
infoList: [
"数据汇聚:整合多源应急数据资源",
"实时监控7x24小时应急态势监控",
"智能决策:基于大数据的应急决策支持",
],
},
];
const handleItemClick = (index: number) => {
activeIndex.value = index;
};
</script>
<style>
body{
margin: 0;
}
</style>
<style scoped lang="scss">
.container{
width: 100%;
padding: 0;
margin: 0;
.banner{
width: 100%;
height: 716px;
text-align: center;
position: relative;
.banner-swiper {
width: 100%;
height: 100%;
:deep(.swiper-pagination) {
bottom: 100px;
.swiper-pagination-bullet {
width: 12px;
height: 12px;
background: rgba(255, 255, 255, 0.5);
opacity: 1;
margin: 0 5px;
&.swiper-pagination-bullet-active {
background: #fff;
width: 30px;
border-radius: 6px;
}
}
}
}
.banner-slide {
width: 100%;
height: 716px;
display: flex;
align-items: center;
justify-content: center;
}
.banner-slide-1 {
background: url('@/assets/images/banner1.jpg') no-repeat center center;
background-size: cover;
}
.banner-slide-2 {
background: url('@/assets/images/banner1.jpg') no-repeat center center;
background-size: cover;
}
.content{
width: 1400px;
margin: 0 auto;
text-align: center;
color: #ffffff;
h1{
font-size: 60px;
margin: 0;
}
p{
font-size: 22px;
margin-top: 10px;
}
.btn{
border-radius: 50px;
padding: 10px 30px;
display: inline-block;
background-color: rgb(65, 106, 234);
box-shadow: 4.974px 3.355px 20px 0 rgba(6, 22, 46, 0.5);
}
}
.info{
width: 1400px;
position: absolute;
bottom: -40px;
display: flex;
justify-content: space-between;
left: 50%;
transform: translate(-50%);
z-index: 999;
.item{
border-style: solid;
border-width: 2px;
border-color: rgb(255, 255, 255);
border-radius: 4px;
background: #ffffff;
box-shadow: 0 5px 10px 0 rgba(35, 24, 21, 0.1);
width: 22%;
padding: 10px;
p{
margin: 0;
text-align: center;
}
.num{
font-size: 26px;
color: #1483ff;
}
.text{
color: #222222;
font-size: 16px;
}
.notes{
color: #697c9e;
font-size: 14px;
}
}
}
}
.news_container{
width: 1400px;
margin: 80px auto 0;
.title{
text-align: center;
.tit{
margin: 0;
padding: 0;
font-size: 36px;
color: #4c4b4b;
}
p{
margin: 0;
padding: 0;
color: #999999;
font-size: 14px;
}
}
.new_main{
width: 100%;
display: flex;
justify-content: space-between;
margin-top: 20px;
.new_left{
width: 50%;
background: #ffffff;
box-shadow: 0 5px 10px 0 rgba(35, 24, 21, 0.1);
padding: 10px;
.news-swiper {
width: 100%;
.item{
.img{
width: 100%;
img{
width: 100%;
}
}
.text{
.title{
text-align: left;
margin: 5px;
}
}
}
:deep(.swiper-pagination) {
right: 10px;
left: auto;
bottom: 10px;
text-align: right;
.swiper-pagination-bullet {
background: #ddd;
opacity: 1;
margin: 0 3px;
&.swiper-pagination-bullet-active {
background: #1483ff;
}
}
}
}
}
.new_right{
flex: 1;
margin-left: 20px;
.item{
display: flex;
border-bottom: 1px solid #eeeeee;
padding-bottom: 10px;
margin-bottom: 15px;
.img{
width: 170px;
}
.info{
width: calc(100% - 170px);
text-align: left;
padding-left: 20px;
.title{
text-align: left;
font-size: 18px;
}
.time{
color: #999999;
margin: 10px 0;
}
.text{
color: #434343;
font-size: 16px;
}
}
}
}
}
}
.product_container{
width: 100%;
background: #f8f8f8 url("@/assets/images/img3.png") no-repeat right bottom;
padding: 50px;
box-sizing: border-box;
margin-top: 50px;
.product_main{
width: 1400px;
margin: 0 auto;
.title{
text-align: center;
.tit{
margin: 0;
padding: 0;
font-size: 36px;
color: #4c4b4b;
}
p{
margin: 0;
padding: 0;
color: #999999;
font-size: 14px;
}
}
.product_wrap{
width: 100%;
.top_container{
width: 100%;
display: flex;
margin-top: 30px;
justify-content: space-around;
.item{
border-radius: 29px;
padding: 10px 30px;
color: #222222;
cursor: pointer;
&:hover{
background: #1d78ff url("@/assets/images/img4.png") no-repeat right bottom;
color: #ffffff;
}
}
.active{
background: #1d78ff url("@/assets/images/img4.png") no-repeat right bottom;
color: #ffffff;
}
}
.main_container{
width: 100%;
background: #ffffff;
padding: 50px;
border-radius: 4px;
margin-top: 40px;
display: flex;
align-items: center;
.left{
width: 50%;
padding-left: 50px;
.title{
text-align: left;
font-size: 24px;
font-weight: bold;
margin-top: 20px;
}
.notes{
color: #32344e;
margin-top: 10px;
}
.info{
margin-top: 30px;
font-size: 14px;
color: #536080;
line-height: 30px;
.list{
vertical-align: middle;
img{
margin-top: 2px;
}
}
}
}
.right{
text-align: center;
padding-left: 50px;
}
}
}
}
}
.solution{
width:100% ;
background: #ffffff;
padding: 50px;
box-sizing: border-box;
.solution_container{
width: 1400px;
margin: 0 auto;
.title{
text-align: center;
.tit{
margin: 0;
padding: 0;
font-size: 36px;
color: #4c4b4b;
}
p{
margin: 0;
padding: 0;
color: #999999;
font-size: 14px;
}
}
.solution_main{
width: 100%;
display: flex;
margin-top: 30px;
flex-wrap: wrap;
.item{
width: 330px;
height: 195px;
position: relative;
margin: 10px;
overflow: hidden;
.img{
width: 100%;
height: 100%;
img{
width: 100%;
height: 100%;
border-radius: 10px;
}
}
.title{
position: absolute;
top:15px;
left: 15px;
background: rgba(0,0,0,0.23);
padding: 10px 20px;
border-radius: 50px;
color: #ffffff;
font-weight: bold;
z-index: 2;
transition: background 0.3s ease;
}
.info{
width: 100%;
height: 100%;
background: rgba(0,22,60,0.6);
border-radius: 10px;
position: absolute;
left: 0;
top: 0;
box-sizing: border-box;
color: #ffffff;
padding: 80px 20px;
z-index: 1;
opacity: 0;
transform: translateY(100%);
transition: all 0.4s ease;
.more{
text-align: right;
margin-top: 20px;
}
}
&:hover{
.info{
opacity: 1;
transform: translateY(0);
}
.title{
background: #1d78ff;
}
}
}
}
}
}
.case{
width: 100%;
background: #ecf5ff;
padding: 50px 0;
box-sizing: border-box;
.case_container{
width: 1400px;
margin: 0 auto;
.title{
text-align: center;
.tit{
margin: 0;
padding: 0;
font-size: 36px;
color: #4c4b4b;
}
p{
margin: 0;
padding: 0;
color: #999999;
font-size: 14px;
}
}
.case_main{
width: 100%;
margin-top: 30px;
position: relative;
.case-swiper {
width: 100%;
padding-bottom: 60px;
:deep(.swiper-pagination) {
bottom: 10px;
.swiper-pagination-bullet {
width: 10px;
height: 10px;
background: #d0d0d0;
opacity: 1;
margin: 0 5px;
transition: all 0.3s ease;
}
.swiper-pagination-bullet-active {
background: #1d78ff;
width: 24px;
border-radius: 5px;
}
}
}
.item{
width: 440px;
background: #ffffff;
border-radius: 16px;
.img{
width: 100%;
height: 250px;
background: url("@/assets/images/img17.png") no-repeat top center;
border-radius: 20px;
}
.info{
background: #ffffff;
padding: 20px;
border-radius: 20px;
margin-top: -40px;
.title{
font-size: 18px;
text-align: left;
margin-bottom: 20px;
color: #222222;
}
.text{
font-size: 14px;
color: #575d63;
}
.details{
color: #1d78ff;
text-align: right;
font-size: 14px;
margin-top: 20px;
}
}
}
}
}
.case_img{
wiidth: 100%;
img{
width: 100%
}
}
}
}
</style>