对比新文件 |
| | |
| | | <template> |
| | | <div class="footer"> |
| | | <div class="footer-content"> |
| | | 版权所有© Copyright 1999-2024 云游四方软件股份有限公司 浙ICP备11024936号-1 |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { ref } from 'vue'; |
| | | |
| | | </script> |
| | | <style scoped> |
| | | .footer { |
| | | width: 100%; |
| | | text-align: center; |
| | | padding: 15px 0; |
| | | background-color: #f8f8f8; |
| | | |
| | | } |
| | | |
| | | .footer-content { |
| | | font-size: 12px; |
| | | color: #333; |
| | | } |
| | | </style> |
| | |
| | | <div class="header"> |
| | | <div style="width: 600px;"> |
| | | <el-menu :default-active="menuIndex" class="main-menu" mode="horizontal" @select="handleSelect"> |
| | | <el-menu-item index="/"> |
| | | <el-menu-item index="/logo"> |
| | | <img src="@/assets/logo/logo.png" alt="云游四方" class="logo" /> |
| | | <span class="logo-text">云游四方</span> |
| | | </el-menu-item> |
| | |
| | | <el-icon> |
| | | <Phone /> |
| | | </el-icon> |
| | | <span>400-102-8686</span> |
| | | <span>18913206309</span> |
| | | </div> |
| | | </div> |
| | | </template> |
| | |
| | | // 处理菜单点击事件 |
| | | const handleSelect = (index) => { |
| | | // console.log('选中菜单:', index); |
| | | router.push(index); |
| | | if(index === '/logo'){ |
| | | router.push('/'); |
| | | }else{ |
| | | router.push(index); |
| | | } |
| | | |
| | | }; |
| | | </script> |
| | | <style scoped> |
对比新文件 |
| | |
| | | import { timeSelectProps } from "element-plus"; |
| | | |
| | | // 首页轮播图 |
| | | export class CarouselItem { |
| | | url: string; |
| | | title: string; |
| | | content: string; |
| | | |
| | | constructor(url: string, title: string, content: string) { |
| | | this.url = url; |
| | | this.title = title; |
| | | this.content = content; |
| | | } |
| | | } |
| | | |
| | | // 合作过的客户 |
| | | export class CooperativeClient { |
| | | url: string; |
| | | name: string; |
| | | desc: string; |
| | | |
| | | constructor(url: string, name: string, desc: string) { |
| | | this.url = url; |
| | | this.name = name; |
| | | this.desc = desc; |
| | | } |
| | | } |
| | | |
| | | // 产品中心 |
| | | export class ProductCenter { |
| | | url: string; |
| | | name: string; |
| | | desc: string; |
| | | |
| | | constructor(url: string, name: string, desc: string) { |
| | | this.url = url; |
| | | this.name = name; |
| | | this.desc = desc; |
| | | } |
| | | } |
| | | |
| | | export class CompanyInfo { |
| | | logo: string; // logo |
| | | name: string; // 公司名称 |
| | | desc: string; // 公司描述 |
| | | address: string; // 公司地址 |
| | | wechat: string; |
| | | phoneHotList: Array<string>; // 热线 |
| | | phoneSaleAfterList: Array<string>; // 售后电话 |
| | | qrCodeList: Array<CompanyQrCodeInfo>; // 二维码 |
| | | |
| | | constructor(logo: string, name: string, desc: string,address: string,wechat:string,phoneHotList: Array<string>,phoneSaleAfterList: Array<string>,qrCodeList: Array<CompanyQrCodeInfo>) { |
| | | this.logo = logo; |
| | | this.name = name; |
| | | this.desc = desc; |
| | | this.address = address; |
| | | this.phoneHotList = phoneHotList; |
| | | this.phoneSaleAfterList = phoneSaleAfterList; |
| | | this.qrCodeList = qrCodeList; |
| | | } |
| | | } |
| | | |
| | | |
| | | export class CompanyQrCodeInfo { |
| | | url: string; // logo |
| | | name: string; // 公司名称 |
| | | |
| | | constructor(url: string, name: string) { |
| | | this.url=url |
| | | this.name=name |
| | | } |
| | | } |
| | | |
| | | |
| | | // 产品中心-菜单 |
| | | export interface MenuItem { |
| | | index: string; |
| | | title: string; |
| | | icon?: any; |
| | | subMenu?: MenuItem[]; |
| | | } |
| | | |
| | | |
对比新文件 |
| | |
| | | // 首页轮播图 |
| | | export interface CarouselItem { |
| | | url: string; |
| | | title: string; |
| | | content: string; |
| | | } |
| | | |
| | | |
| | | // 我们的产品 |
| | | export interface Products { |
| | | imgUrl: string; |
| | | title: string; |
| | | desc: string; |
| | | } |
| | | |
| | | // 新增接口来表示产品组 |
| | | export interface ProductGroup { |
| | | products: Products[]; |
| | | } |
| | | |
| | | // 合作过的客户 |
| | | export interface CooperativeClient { |
| | | url: string; |
| | | name: string; |
| | | desc: string; |
| | | } |
| | | |
| | | // 产品中心 |
| | | export interface ProductCenter { |
| | | url: string; |
| | | name: string; |
| | | desc: string; |
| | | } |
| | | |
| | | // 公司基本信息 |
| | | export interface CompanyInfo { |
| | | logo: string; // logo |
| | | name: string; // 公司名称 |
| | | desc: string; // 公司描述 |
| | | address: string; // 公司地址 |
| | | wechat: string; |
| | | phoneHotList: Array<string>; // 热线 |
| | | phoneSaleAfterList: Array<string>; // 售后电话 |
| | | qrCodeList: Array<CompanyQrCodeInfo>; // 二维码 |
| | | } |
| | | |
| | | |
| | | // 公司二维码信息 |
| | | export interface CompanyQrCodeInfo { |
| | | url: string; // logo |
| | | name: string; // 公司名称 |
| | | } |
| | | |
| | | |
| | | // 产品中心-菜单 |
| | | export interface MenuItem { |
| | | index: string; |
| | | title: string; |
| | | imgUrl: string; |
| | | pdfUrl: string; |
| | | icon?: any; |
| | | subMenu?: MenuItem[]; |
| | | } |
| | | |
| | | |
对比新文件 |
| | |
| | | <template> |
| | | <div class="home-container"> |
| | | <div class="carousel-container" style="margin-top:60px;"> |
| | | <!-- 上方主要轮播 --> |
| | | <el-carousel ref="mainCarousel" indicator-position="none" trigger="click" height="100vh" :pause-on-hover="false" |
| | | @change="handleMainChange"> |
| | | <el-carousel-item v-for="(item, index) in items" :key="index" style="display: flex; justify-content: center;"> |
| | | <div class="carousel-content-main" :style="{ |
| | | backgroundImage: `url(${item.url})`, |
| | | backgroundSize: 'cover', |
| | | backgroundPosition: 'center', |
| | | width: '100%', |
| | | height: '100%' |
| | | }"> |
| | | <!-- {{ item.content }} --> |
| | | </div> |
| | | </el-carousel-item> |
| | | </el-carousel> |
| | | |
| | | <!-- 下方卡片模式轮播 --> |
| | | <el-carousel ref="cardCarousel" :interval="5000" arrow="always" indicator-position="none" trigger="click" |
| | | type="card" height="100px" class="overlay-carousel" @change="handleCardChange"> |
| | | <el-carousel-item v-for="(item, index) in items" :key="index"> |
| | | <div class="carousel-content"> |
| | | <div class="title">{{ item.title }}</div> |
| | | <div class="content">{{ item.content }}</div> |
| | | </div> |
| | | </el-carousel-item> |
| | | </el-carousel> |
| | | </div> |
| | | |
| | | <div class="our-products"> |
| | | <div class="our-products-title"> |
| | | <h1>我们的产品</h1> |
| | | </div> |
| | | <div class="our-products-carousel"> |
| | | <el-carousel :interval="3000" arrow="always"> |
| | | <el-carousel-item v-for="item in 4" :key="item"> |
| | | <!-- 这里是存放产品信息 --> |
| | | <el-row> |
| | | <el-col :span="6" v-for="o in 4" :key="o"> |
| | | <div class="our-products-carousel-product"> |
| | | <el-card> |
| | | <div class="card-content-div"><span class="card-content-div-title">智慧校园门户网站</span></div> |
| | | <div class="card-content-div"><span |
| | | class="card-content-div-content">提供全流程、一体化的数据治理与数据服务提供全流程、一体化的数据治理与数据服务</span></div> |
| | | <img src="http://192.168.1.201:9000/portal/bg.png" |
| | | style="width: 100%; height: 100px;object-fit: cover;" /> |
| | | </el-card> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | </el-carousel-item> |
| | | </el-carousel> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="third-other"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <div class="third-other-title">产品中心</div> |
| | | <ul class="footer-list footer-list-menus"> |
| | | <li v-for="(item, index) in ProductCenters"><el-link :underline="false" :href="item.url" target="_blank"><span class="f12">{{item.name}}</span></el-link></li> |
| | | </ul> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <div class="third-other-title">合作过的客户</div> |
| | | <div> |
| | | <img v-for="(item, index) in cooperativeClients" :src="item.url" class="cooperation-img" /> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <div class="third-other-title">公司信息</div> |
| | | <div class="contact-us"> |
| | | <div class="j-a-c"> |
| | | <div class="j-a-c"> |
| | | <img :src="companyInfo.logo" alt="云游四方" class="logo-l" /> |
| | | <span class="logo-l-text">{{ companyInfo.name }}</span> |
| | | </div> |
| | | <div class="f12 m-10"> {{ companyInfo.desc }}</div> |
| | | </div> |
| | | <!-- <div class="j-a-c"> |
| | | <p><span class="f12 m-10">全国热线电话:</span> |
| | | <el-link v-for="(item, index) in companyInfo.phoneHotList" :underline="false" href="tel:400-102-8686"><span class="f12 m-10">{{ item }}</span></el-link> |
| | | </p> |
| | | </div> |
| | | <div class="j-a-c"> |
| | | <p><span class="f12 m-10">全国售后电话:</span> |
| | | <el-link v-for="(item, index) in companyInfo.phoneSaleAfterList" :underline="false" href="tel:400-102-8686"><span class="f12 m-10">{{ item }}</span></el-link> |
| | | </p> |
| | | </div> --> |
| | | <div class="j-a-c"> |
| | | <p><span class="f12 m-10">地址:{{ companyInfo.address }}</span></p> |
| | | </div> |
| | | <div class="footer-QR-code"> |
| | | <div class="j-a-c-column" v-for="(item, index) in companyInfo.qrCodeList"><img :src="item.url" alt="云游四方" class="qr-code-img" /><span>{{ item.name }}</span></div> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <el-backtop :right="20" :bottom="50" style="width: 30px; height: 30px;" /> |
| | | |
| | | <!-- 右侧悬浮按钮 --> |
| | | |
| | | <div class="float-buttons"> |
| | | <el-popover placement="left" trigger="hover"> |
| | | |
| | | <div class="j-a-c"> |
| | | <img :src="companyInfo.wechat" alt="微信二维码" class="popover-img" style="width: 100px; height: 100px;" /> |
| | | </div> |
| | | <template #reference> |
| | | <div class="j-a-c"> |
| | | <img src="http://192.168.1.201:9000/portal/wechat.png" alt="微信" class="xuanfu" /> |
| | | </div> |
| | | |
| | | </template> |
| | | </el-popover> |
| | | |
| | | <el-popover placement="left" trigger="hover"> |
| | | <p>18913206309</p> |
| | | <template #reference> |
| | | <img src="http://192.168.1.201:9000/portal/phone.png" alt="电话" class="xuanfu" /> |
| | | </template> |
| | | </el-popover> |
| | | </div> |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | | <script lang="ts" setup> |
| | | import { ref } from 'vue' |
| | | import type { ElCarousel } from "element-plus"; |
| | | // import { CarouselItem } from '@/models/carouselItem'; |
| | | // import { CooperativeClient } from '@/models/cooperativeClient'; |
| | | import { CarouselItem,CooperativeClient,ProductCenter,CompanyInfo, CompanyQrCodeInfo } from '@/models/portalModels'; |
| | | |
| | | |
| | | // const items = ref([0, 1, 2, 3]); // 轮播项 |
| | | const mainCarousel = ref<InstanceType<typeof ElCarousel> | null>(null); |
| | | const cardCarousel = ref<InstanceType<typeof ElCarousel> | null>(null); |
| | | |
| | | // 创建数据列表 |
| | | const items = ref<CarouselItem[]>([ |
| | | new CarouselItem('http://192.168.1.201:9000/portal/bg.png', '智慧校园', '智慧校园信息门户'), |
| | | new CarouselItem('http://192.168.1.201:9000/portal/bg.png', '统一认证', '统一身份认证平台'), |
| | | new CarouselItem('http://192.168.1.201:9000/portal/bg.png', '数据管理', '数据管理中心平台') |
| | | ]); |
| | | |
| | | const handleMainChange = (index: number) => { |
| | | if (cardCarousel.value) { |
| | | cardCarousel.value.setActiveItem(index); // 同步下方轮播 |
| | | } |
| | | }; |
| | | const handleCardChange = (index: number) => { |
| | | if (mainCarousel.value) { |
| | | mainCarousel.value.setActiveItem(index); // 同步上方轮播 |
| | | } |
| | | }; |
| | | |
| | | const cooperativeClients = ref<CooperativeClient[]>([ |
| | | new CooperativeClient('http://192.168.1.201:9000/portal/customers/c29.png', '图片2', '图片2'), |
| | | new CooperativeClient('http://192.168.1.201:9000/portal/customers/c34.png', '图片2', '图片2'), |
| | | |
| | | new CooperativeClient('http://192.168.1.201:9000/portal/customers/c1.png', '图片1', '图片1'), |
| | | new CooperativeClient('http://192.168.1.201:9000/portal/customers/c22.png', '图片2', '图片2'), |
| | | new CooperativeClient('http://192.168.1.201:9000/portal/customers/c23.png', '图片2', '图片2'), |
| | | new CooperativeClient('http://192.168.1.201:9000/portal/customers/c24.png', '图片2', '图片2'), |
| | | new CooperativeClient('http://192.168.1.201:9000/portal/customers/c25.png', '图片2', '图片2'), |
| | | new CooperativeClient('http://192.168.1.201:9000/portal/customers/c26.png', '图片2', '图片2'), |
| | | new CooperativeClient('http://192.168.1.201:9000/portal/customers/c27.png', '图片2', '图片2'), |
| | | new CooperativeClient('http://192.168.1.201:9000/portal/customers/c28.png', '图片2', '图片2'), |
| | | // new CooperativeClient('http://192.168.1.201:9000/portal/customers/c29.png', '图片2', '图片2'), |
| | | new CooperativeClient('http://192.168.1.201:9000/portal/customers/c30.png', '图片2', '图片2'), |
| | | new CooperativeClient('http://192.168.1.201:9000/portal/customers/c31.png', '图片2', '图片2'), |
| | | new CooperativeClient('http://192.168.1.201:9000/portal/customers/c32.png', '图片2', '图片2'), |
| | | new CooperativeClient('http://192.168.1.201:9000/portal/customers/c33.png', '图片2', '图片2'), |
| | | // new CooperativeClient('http://192.168.1.201:9000/portal/customers/c34.png', '图片2', '图片2'), |
| | | new CooperativeClient('http://192.168.1.201:9000/portal/customers/c35.png', '图片2', '图片2'), |
| | | new CooperativeClient('http://192.168.1.201:9000/portal/customers/c36.png', '图片2', '图片2'), |
| | | new CooperativeClient('http://192.168.1.201:9000/portal/customers/c37.png', '图片2', '图片2'), |
| | | new CooperativeClient('http://192.168.1.201:9000/portal/customers/c38.png', '图片2', '图片2'), |
| | | new CooperativeClient('http://192.168.1.201:9000/portal/customers/c39.png', '图片2', '图片2'), |
| | | new CooperativeClient('http://192.168.1.201:9000/portal/customers/c40.png', '图片2', '图片2'), |
| | | ]) |
| | | |
| | | |
| | | const ProductCenters = ref<ProductCenter[]>([ |
| | | new ProductCenter('http://192.168.1.201:9000/portal/product-center/LIMS系统介绍方案.pdf', 'LIMS实验室管理系统', 'LIMS实验室管理系统'), |
| | | new ProductCenter('http://192.168.1.201:9000/portal/product-center/外部供应商管理系统介绍.pdf', '供应商管理系统', '供应商管理系统'), |
| | | new ProductCenter('', 'TQS企业培训系统', 'TQS企业培训系统'), |
| | | new ProductCenter('http://192.168.1.201:9000/portal/product-center/花满芫小程序产品介绍.pdf', 'S2B2B小程序平台', 'S2B2B小程序平台'), |
| | | new ProductCenter('http://192.168.1.201:9000/portal/product-center/FJIT系统介绍.pdf', 'JIT系统', 'JIT系统'), |
| | | new ProductCenter('http://192.168.1.201:9000/portal/product-center/CPTM软件产品介绍.pdf', 'CPTM企业能力管理系统', 'CPTM企业能力管理系统'), |
| | | ]) |
| | | |
| | | |
| | | const companyInfo = ref<CompanyInfo>({ |
| | | logo: "http://192.168.1.201:9000/portal/logo.png", |
| | | name: "云游四方", |
| | | desc: "专注于智能化解决方案", |
| | | address: "江苏省苏州市虎丘区华云路1号桑田岛科创园", |
| | | wechat:"http://192.168.1.201:9000/portal/company-info/联系微信.png", |
| | | phoneHotList: ["400-123-4567", "010-88889999"], |
| | | phoneSaleAfterList: ["400-987-6543", "010-66667777"], |
| | | qrCodeList: [ |
| | | new CompanyQrCodeInfo("http://192.168.1.201:9000/portal/company-info/服务号.jpg", "服务号"), |
| | | new CompanyQrCodeInfo("http://192.168.1.201:9000/portal/company-info/联系微信.png", "联系微信"), |
| | | ] |
| | | }); |
| | | |
| | | |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .home-container { |
| | | position: relative; |
| | | width: 100%; |
| | | min-height: 100vh; |
| | | margin: 0; |
| | | padding: 0; |
| | | } |
| | | |
| | | |
| | | |
| | | .el-menu--horizontal { |
| | | --el-menu-horizontal-height: 40px; |
| | | } |
| | | |
| | | .logo-container { |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .logo { |
| | | height: 40px; |
| | | margin-right: 10px; |
| | | } |
| | | |
| | | .logo-text { |
| | | font-size: 18px; |
| | | font-weight: bold; |
| | | color: #333; |
| | | } |
| | | |
| | | |
| | | |
| | | .main-content { |
| | | width: 100%; |
| | | margin-top: 60px; |
| | | /* 为固定的header留出空间 */ |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | padding: 0px; |
| | | /* height: 600px; */ |
| | | width: 100%; |
| | | } |
| | | |
| | | .banner { |
| | | position: relative; |
| | | width: 100%; |
| | | min-height: calc(100vh - 60px); |
| | | /* 减去header高度 */ |
| | | background: linear-gradient(to bottom, #1a237e, #3949ab); |
| | | color: white; |
| | | /* padding: 40px 0; */ |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | .logos-container { |
| | | display: flex; |
| | | justify-content: center; |
| | | gap: 40px; |
| | | margin: 30px 0; |
| | | } |
| | | |
| | | .cert-logo, |
| | | .company-logo { |
| | | height: 80px; |
| | | } |
| | | |
| | | .main-title { |
| | | font-size: 36px; |
| | | text-align: center; |
| | | margin: 40px 0; |
| | | } |
| | | |
| | | .organizers { |
| | | display: flex; |
| | | justify-content: center; |
| | | gap: 20px; |
| | | margin: 20px 0; |
| | | } |
| | | |
| | | .org-item { |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .org-label { |
| | | color: #ccc; |
| | | margin-right: 5px; |
| | | } |
| | | |
| | | .org-name { |
| | | color: white; |
| | | } |
| | | |
| | | .location { |
| | | margin: 40px 0; |
| | | } |
| | | |
| | | .location h2 { |
| | | font-size: 32px; |
| | | text-align: center; |
| | | } |
| | | |
| | | .info-cards { |
| | | display: flex; |
| | | justify-content: center; |
| | | gap: 20px; |
| | | width: 80%; |
| | | margin-top: 40px; |
| | | margin-bottom: 40px; |
| | | /* 添加底部间距 */ |
| | | flex-wrap: wrap; |
| | | /* 在小屏幕上允许换行 */ |
| | | } |
| | | |
| | | .info-card { |
| | | background-color: rgba(255, 255, 255, 0.1); |
| | | padding: 20px; |
| | | border-radius: 5px; |
| | | flex: 1; |
| | | min-width: 250px; |
| | | /* 确保在小屏幕上有最小宽度 */ |
| | | } |
| | | |
| | | .card-title { |
| | | font-size: 18px; |
| | | margin-bottom: 10px; |
| | | color: white; |
| | | } |
| | | |
| | | .card-desc { |
| | | color: #ddd; |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .float-buttons { |
| | | position: fixed; |
| | | right: 20px; |
| | | bottom: 100px; |
| | | display: flex; |
| | | flex-direction: column; |
| | | gap: 10px; |
| | | } |
| | | |
| | | .float-btn { |
| | | width: 60px; |
| | | height: 60px; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | } |
| | | |
| | | .btn-content { |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | font-size: 12px; |
| | | } |
| | | |
| | | .product-btn { |
| | | background-color: #fff; |
| | | color: #333; |
| | | } |
| | | |
| | | .service-btn { |
| | | background-color: #fff; |
| | | color: #333; |
| | | } |
| | | |
| | | .top-btn { |
| | | background-color: #fff; |
| | | color: #333; |
| | | } |
| | | |
| | | /* 添加响应式设计 */ |
| | | @media (max-width: 768px) { |
| | | .organizers { |
| | | flex-direction: column; |
| | | align-items: center; |
| | | } |
| | | |
| | | .info-cards { |
| | | width: 90%; |
| | | } |
| | | |
| | | .main-title { |
| | | font-size: 28px; |
| | | padding: 0 15px; |
| | | } |
| | | } |
| | | </style> |
| | | |
| | | |
| | | <style scoped> |
| | | .demonstration { |
| | | color: var(--el-text-color-secondary); |
| | | } |
| | | |
| | | .el-carousel__item h3 { |
| | | color: #475669; |
| | | opacity: 0.75; |
| | | line-height: 150px; |
| | | margin: 0; |
| | | text-align: center; |
| | | } |
| | | |
| | | .el-carousel__item:nth-child(2n) { |
| | | /* background-color: #FFFFFF; */ |
| | | } |
| | | |
| | | .el-carousel__item:nth-child(2n + 1) { |
| | | /* background-color: #FFFFFF; */ |
| | | } |
| | | </style> |
| | | |
| | | <style scoped> |
| | | .carousel-container { |
| | | position: relative; |
| | | margin-top: 30px; |
| | | min-height: calc(100vh - 60px); |
| | | } |
| | | .carousel-content-main{ |
| | | height: 100%; |
| | | } |
| | | |
| | | .overlay-carousel { |
| | | position: absolute; |
| | | top: 500px; |
| | | /* 调整此值控制重叠程度 */ |
| | | left: 50%; |
| | | transform: translateX(-50%); |
| | | width: 80%; |
| | | /* 适当调整宽度 */ |
| | | } |
| | | |
| | | .our-products { |
| | | margin-top: 50px; |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | /* 设置子元素垂直排列 */ |
| | | align-items: center; |
| | | /* 可选:将子元素水平居中 */ |
| | | padding: 0 50px; |
| | | |
| | | } |
| | | |
| | | .our-products-title { |
| | | width: 100%; |
| | | height: 50px; |
| | | text-align: center; |
| | | } |
| | | |
| | | .our-products-carousel { |
| | | margin-top: 30px; |
| | | width: 80%; |
| | | /* height: 300px; */ |
| | | } |
| | | |
| | | .our-products-carousel-product { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | /* 设置子元素垂直排列 */ |
| | | align-items: center; |
| | | /* 可选:将子元素水平居中 */ |
| | | padding: 0 5px; |
| | | } |
| | | |
| | | .card-content-div { |
| | | text-align: center; |
| | | margin: 10px; |
| | | } |
| | | |
| | | .card-content-div-title { |
| | | font-weight: 500; |
| | | } |
| | | |
| | | .card-content-div-content { |
| | | color: gray; |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .third-other { |
| | | width: 100%; |
| | | text-align: center; |
| | | margin-top: 30px; |
| | | background-color: #F2F5FA; |
| | | padding: 20px; |
| | | } |
| | | |
| | | |
| | | .third-other-title { |
| | | margin: 0 20px; |
| | | } |
| | | |
| | | |
| | | .footer-list { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | /* Allow wrapping to new lines */ |
| | | } |
| | | |
| | | .footer-list li { |
| | | width: 48%; |
| | | /* Adjust this value to control the width of each item */ |
| | | margin-bottom: 5px; |
| | | /* Optional: Adds space between rows */ |
| | | text-align: left; |
| | | } |
| | | |
| | | .f12 { |
| | | font-size: 12px; |
| | | color: #2B2B2B; |
| | | } |
| | | |
| | | ul, |
| | | ol, |
| | | li { |
| | | list-style: none; |
| | | } |
| | | |
| | | ul { |
| | | margin: 0; |
| | | } |
| | | |
| | | ol, |
| | | ul { |
| | | margin-top: 0; |
| | | margin-bottom: 10px; |
| | | } |
| | | |
| | | .cooperation-img { |
| | | width: 50px; |
| | | height: 50px; |
| | | object-fit: cover; |
| | | margin: 5px; |
| | | } |
| | | |
| | | .contact-us { |
| | | margin: 10px; |
| | | } |
| | | |
| | | .j-a-c { |
| | | display: flex; |
| | | /* justify-content: center; */ |
| | | align-items: center; |
| | | } |
| | | |
| | | .j-a-c-column{ |
| | | display: flex; |
| | | align-items: center; |
| | | flex-direction: column; |
| | | } |
| | | |
| | | .logo-l { |
| | | height: 20px; |
| | | } |
| | | |
| | | .logo-l-text { |
| | | font-size: 12px; |
| | | font-weight: bold; |
| | | color: #333; |
| | | } |
| | | |
| | | .m-10 { |
| | | margin-left: 10px; |
| | | } |
| | | |
| | | .footer-QR-code { |
| | | display: flex; |
| | | justify-content: flex-start; |
| | | margin-top: 10px; |
| | | } |
| | | |
| | | .qr-code-img { |
| | | width: 60px; |
| | | height: 60px; |
| | | } |
| | | |
| | | .xuanfu { |
| | | width: 30px; |
| | | height: 30px; |
| | | } |
| | | |
| | | /* |
| | | ::v-deep .el-carousel__mask { |
| | | |
| | | height: 100%; |
| | | left: 0; |
| | | opacity: .24; |
| | | position: absolute; |
| | | top: 0; |
| | | transition: var(--el-transition-duration-fast); |
| | | width: 100%; |
| | | } */ |
| | | |
| | | .carousel-content { |
| | | /* width: 50%; |
| | | background-color: #FFFFFF; */ |
| | | text-align: center; |
| | | } |
| | | </style> |
| | |
| | | <template> |
| | | <div class="home-container"> |
| | | <div class="carousel-container" style="margin-top:60px;"> |
| | | <!-- 上方主要轮播 --> |
| | | <el-carousel ref="mainCarousel" |
| | | indicator-position="none" trigger="click" height="550px" :pause-on-hover="false" |
| | | @change="handleMainChange"> |
| | | <el-carousel-item v-for="(item, index) in items" :key="index" |
| | | style="display: flex; justify-content: center;"> |
| | | <div class="carousel-content-main" :style="{ |
| | | backgroundImage: `url(http://192.168.1.201:9000/portal/bg.png)`, |
| | | backgroundSize: 'cover', |
| | | backgroundPosition: 'center', |
| | | width: '100%', |
| | | height: '100%' |
| | | }"> |
| | | aaaaaaaaaaa{{ item }} |
| | | </div> |
| | | </el-carousel-item> |
| | | </el-carousel> |
| | | |
| | | <!-- 下方卡片模式轮播 --> |
| | | <el-carousel ref="cardCarousel" :interval="3000" arrow="always" indicator-position="none" trigger="click" type="card" height="100px" |
| | | class="overlay-carousel" @change="handleCardChange"> |
| | | <el-carousel-item v-for="(item, index) in items" :key="index"> |
| | | <div class="carousel-content"> |
| | | <div class="title">aaaaaaaaaaa{{ item }}</div> |
| | | <div class="content">我是内容我是内容我是内容我是内容我是内容</div> |
| | | </div> |
| | | </el-carousel-item> |
| | | </el-carousel> |
| | | </div> |
| | | |
| | | <div class="our-products"> |
| | | <div class="our-products-title"> |
| | | <h1>我们的产品</h1> |
| | | </div> |
| | | <div class="our-products-carousel"> |
| | | <el-carousel :interval="3000" arrow="always"> |
| | | <el-carousel-item v-for="item in 4" :key="item"> |
| | | <!-- 这里是存放产品信息 --> |
| | | <el-row> |
| | | <el-col :span="6" v-for="o in 4" :key="o"> |
| | | <div class="our-products-carousel-product"> |
| | | <el-card> |
| | | <div class="card-content-div"><span class="card-content-div-title">智慧校园门户网站</span></div> |
| | | <div class="card-content-div"><span |
| | | class="card-content-div-content">提供全流程、一体化的数据治理与数据服务提供全流程、一体化的数据治理与数据服务</span></div> |
| | | <img src="http://192.168.1.201:9000/portal/bg.png" |
| | | style="width: 100%; height: 100px;object-fit: cover;" /> |
| | | </el-card> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | </el-carousel-item> |
| | | </el-carousel> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="third-other"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <div>产品中心</div> |
| | | <ul class="footer-list footer-list-menus"> |
| | | <li><el-link :underline="false" href="./product/tymhxt.html"><span class="f12">智慧校园信息服务门户</span></el-link> |
| | | </li> |
| | | <li><el-link :underline="false" href="./product/tyrzxt.html"><span class="f12">统一身份认证服务平台</span></el-link> |
| | | </li> |
| | | <li><el-link :underline="false" href="./product/ydglxt.html"><span class="f12">移动智慧校园平台</span></el-link> |
| | | </li> |
| | | <li><el-link :underline="false" href="./product/sjglxt.html"><span class="f12">数据管理中心平台</span></el-link> |
| | | </li> |
| | | <li><el-link :underline="false" href="./product/jcpt.html"><span class="f12">集成平台</span></el-link> </li> |
| | | <li><el-link :underline="false" href="./product/jxglxt.html"><span class="f12">教学管理服务平台</span></el-link> |
| | | </li> |
| | | <li><el-link :underline="false" href="./product/zsglxt.html"><span class="f12">招生管理服务平台</span></el-link> |
| | | </li> |
| | | <li><el-link :underline="false" href="./product/yxglxt.html"><span class="f12">迎新管理服务平台</span></el-link> |
| | | </li> |
| | | <li><el-link :underline="false" href="./product/xgmhxt.html"><span class="f12">学生工作管理服务平台</span></el-link> |
| | | </li> |
| | | <li><el-link :underline="false" href="./product/lxglxt.html"><span class="f12">离校管理服务平台</span></el-link> |
| | | </li> |
| | | <li><el-link :underline="false" href="./product/jyglxt.html"><span class="f12">就业管理服务平台</span></el-link> |
| | | </li> |
| | | <li><el-link :underline="false" href="./product/kyglxt.html"><span class="f12">科研管理服务平台</span></el-link> |
| | | </li> |
| | | <li><el-link :underline="false" href="./product/zyglxt.html"><span class="f12">人力资源管理服务平台</span></el-link> |
| | | </li> |
| | | <li><el-link :underline="false" href="./product/zhbgpt.html"><span class="f12">智慧办公服务平台</span></el-link> |
| | | </li> |
| | | <li><el-link :underline="false" href="./product/wsbs.html"><span class="f12">网上办事大厅</span></el-link> </li> |
| | | <li><el-link :underline="false" href="./product/yjsxxfwxt.html"><span |
| | | class="f12">研究生信息管理与服务平台</span></el-link> </li> |
| | | <li><el-link :underline="false" href="./product/zzcxdyytj.html"><span class="f12">自助查询打印一体机</span></el-link> |
| | | </li> |
| | | </ul> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <div>合作过的客户</div> |
| | | <div> |
| | | <img v-for="(item, index) in 28" src="http://192.168.1.201:9000/portal/bg.png" class="cooperation-img" /> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <div>公司信息</div> |
| | | <div class="contact-us"> |
| | | <div class="j-a-c"> |
| | | <div class="j-a-c"> |
| | | <img src="@/assets/logo/logo.png" alt="云游四方" class="logo-l" /> |
| | | <span class="logo-l-text">云游四方</span> |
| | | </div> |
| | | <div class="f12 m-10"> 科技创新 服务教育</div> |
| | | </div> |
| | | <div class="j-a-c"> |
| | | <p><span class="f12 m-10">全国热线电话:</span> |
| | | <el-link :underline="false" href="tel:400-102-8686"><span class="f12 m-10">400-102-8686</span></el-link> |
| | | <el-link :underline="false" href="tel:400-102-8686"><span class="f12 m-10">400-102-8686</span></el-link> |
| | | </p> |
| | | </div> |
| | | <div class="j-a-c"> |
| | | <p><span class="f12 m-10">全国售后电话:</span> |
| | | <el-link :underline="false" href="tel:400-102-8686"><span class="f12 m-10">400-102-8686</span></el-link> |
| | | <el-link :underline="false" href="tel:400-102-8686"><span class="f12 m-10">400-102-8686</span></el-link> |
| | | </p> |
| | | </div> |
| | | <div class="j-a-c"> |
| | | <p><span class="f12 m-10">地址:浙江省杭州市西湖区紫霞街176号杭州互联网创新创业园2-301</span></p> |
| | | </div> |
| | | <div class="footer-QR-code"> |
| | | <div class="j-a-c"><img src="@/assets/logo/logo.png" alt="云游四方" class="qr-code-img" /></div> |
| | | <div class="j-a-c"><img src="@/assets/logo/logo.png" alt="云游四方" class="qr-code-img" /></div> |
| | | </div> |
| | | |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | |
| | | |
| | | |
| | | <el-backtop :right="20" :bottom="50" style="width: 30px; height: 30px;" /> |
| | | |
| | | <!-- 右侧悬浮按钮 --> |
| | | |
| | | <div class="float-buttons"> |
| | | <el-popover placement="left" trigger="hover"> |
| | | <img src="http://192.168.1.201:9000/portal/wechat.png" alt="微信二维码" class="popover-img" /> |
| | | <template #reference> |
| | | <img src="http://192.168.1.201:9000/portal/wechat.png" alt="微信" class="xuanfu" /> |
| | | </template> |
| | | </el-popover> |
| | | |
| | | <el-popover placement="left" trigger="hover"> |
| | | <p>123-456-789</p> |
| | | <template #reference> |
| | | <img src="http://192.168.1.201:9000/portal/phone.png" alt="电话" class="xuanfu" /> |
| | | </template> |
| | | </el-popover> |
| | | </div> |
| | | |
| | | <div class="home-container"> |
| | | <div class="carousel-container" style="margin-top:60px;"> |
| | | <!-- 上方主要轮播 --> |
| | | <el-carousel ref="mainCarousel" indicator-position="none" trigger="click" height="100vh" :pause-on-hover="false" |
| | | @change="handleMainChange"> |
| | | <el-carousel-item v-for="(item, index) in items" :key="index" style="display: flex; justify-content: center;"> |
| | | <div class="carousel-content-main" :style="{ |
| | | backgroundImage: `url(${item.url})`, |
| | | backgroundSize: 'cover', |
| | | backgroundPosition: 'center', |
| | | width: '100%', |
| | | height: '100%' |
| | | }"> |
| | | <!-- {{ item.content }} --> |
| | | </div> |
| | | </el-carousel-item> |
| | | </el-carousel> |
| | | |
| | | <!-- 下方卡片模式轮播 --> |
| | | <el-carousel ref="cardCarousel" :interval="5000" arrow="always" indicator-position="none" trigger="click" |
| | | type="card" height="100px" class="overlay-carousel" @change="handleCardChange"> |
| | | <el-carousel-item v-for="(item, index) in items" :key="index"> |
| | | <div class="carousel-content"> |
| | | <div class="title">{{ item.title }}</div> |
| | | <div class="content">{{ item.content }}</div> |
| | | </div> |
| | | </el-carousel-item> |
| | | </el-carousel> |
| | | </div> |
| | | </template> |
| | | |
| | | <script lang="ts" setup> |
| | | import { ref } from 'vue' |
| | | import { Phone, Monitor, Service, Top } from '@element-plus/icons-vue' |
| | | import type { ElCarousel } from "element-plus"; |
| | | import HeaderMenu from '@/components/HeaderMenu.vue'; |
| | | |
| | | const handleSelect = (key: string, keyPath: string[]) => { |
| | | console.log(key, keyPath) |
| | | |
| | | <div class="our-products"> |
| | | <div class="our-products-title"> |
| | | <h1>我们的产品</h1> |
| | | </div> |
| | | <div class="our-products-carousel"> |
| | | <el-carousel :interval="3000" arrow="always" height="400px" > |
| | | <el-carousel-item v-for="(group, groupIndex) in productGroups" :key="groupIndex"> |
| | | <el-row> |
| | | <el-col :span="6" v-for="(product, productIndex) in group.products" :key="productIndex"> |
| | | <div class="our-products-carousel-product"> |
| | | <el-card> |
| | | <div class="card-content-div"><span class="card-content-div-title">{{ product.title }}</span></div> |
| | | <div class="card-content-div"> |
| | | <span class="card-content-div-content">{{ product.desc }}</span> |
| | | </div> |
| | | <img :src="product.imgUrl" style="width: 100%; height: 100px; object-fit: cover;" /> |
| | | </el-card> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | </el-carousel-item> |
| | | </el-carousel> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="third-other"> |
| | | <el-row> |
| | | <el-col :span="8"> |
| | | <div class="third-other-title">产品中心</div> |
| | | <ul class="footer-list footer-list-menus"> |
| | | <li v-for="(item, index) in ProductCenters"><el-link :underline="false" :href="item.url" target="_blank"><span class="f12">{{item.name}}</span></el-link></li> |
| | | </ul> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <div class="third-other-title">合作过的客户</div> |
| | | <div> |
| | | <img v-for="(item, index) in cooperativeClients" :src="item.url" class="cooperation-img" /> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <div class="third-other-title">公司信息</div> |
| | | <div class="contact-us"> |
| | | <div class="j-a-c"> |
| | | <div class="j-a-c"> |
| | | <img :src="companyInfo.logo" alt="云游四方" class="logo-l" /> |
| | | <span class="logo-l-text">{{ companyInfo.name }}</span> |
| | | </div> |
| | | <div class="f12 m-10"> {{ companyInfo.desc }}</div> |
| | | </div> |
| | | <!-- <div class="j-a-c"> |
| | | <p><span class="f12 m-10">全国热线电话:</span> |
| | | <el-link v-for="(item, index) in companyInfo.phoneHotList" :underline="false" href="tel:400-102-8686"><span class="f12 m-10">{{ item }}</span></el-link> |
| | | </p> |
| | | </div> |
| | | <div class="j-a-c"> |
| | | <p><span class="f12 m-10">全国售后电话:</span> |
| | | <el-link v-for="(item, index) in companyInfo.phoneSaleAfterList" :underline="false" href="tel:400-102-8686"><span class="f12 m-10">{{ item }}</span></el-link> |
| | | </p> |
| | | </div> --> |
| | | <div class="j-a-c"> |
| | | <p><span class="f12 m-10">地址:{{ companyInfo.address }}</span></p> |
| | | </div> |
| | | <div class="footer-QR-code"> |
| | | <div class="j-a-c-column" v-for="(item, index) in companyInfo.qrCodeList"><img :src="item.url" alt="云游四方" class="qr-code-img" /><span>{{ item.name }}</span></div> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <el-backtop :right="20" :bottom="50" style="width: 30px; height: 30px;" /> |
| | | |
| | | <!-- 右侧悬浮按钮 --> |
| | | |
| | | <div class="float-buttons"> |
| | | <el-popover placement="left" trigger="hover"> |
| | | |
| | | <div class="j-a-c"> |
| | | <img :src="companyInfo.wechat" alt="微信二维码" class="popover-img" style="width: 100px; height: 100px;" /> |
| | | </div> |
| | | <template #reference> |
| | | <div class="j-a-c"> |
| | | <img src="http://192.168.1.201:9000/portal/wechat.png" alt="微信" class="xuanfu" /> |
| | | </div> |
| | | |
| | | </template> |
| | | </el-popover> |
| | | |
| | | <el-popover placement="left" trigger="hover"> |
| | | <p>18913206309</p> |
| | | <template #reference> |
| | | <img src="http://192.168.1.201:9000/portal/phone.png" alt="电话" class="xuanfu" /> |
| | | </template> |
| | | </el-popover> |
| | | </div> |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | | <script lang="ts" setup> |
| | | import { ref } from 'vue' |
| | | import type { ElCarousel } from "element-plus"; |
| | | import { CarouselItem, CooperativeClient, ProductCenter, CompanyInfo, Products, ProductGroup } from '@/models/portalModels'; |
| | | |
| | | const mainCarousel = ref<InstanceType<typeof ElCarousel> | null>(null); |
| | | const cardCarousel = ref<InstanceType<typeof ElCarousel> | null>(null); |
| | | |
| | | // 创建数据列表 |
| | | const items = ref<CarouselItem[]>([ |
| | | {url:'http://192.168.1.201:9000/portal/bg.png', title:'', content:''}, |
| | | // {url:'http://192.168.1.201:9000/portal/bg.png', title:'统一认证', content:'统一身份认证平台'}, |
| | | // {url:'http://192.168.1.201:9000/portal/bg.png', title:'数据管理', content:'数据管理中心平台'} |
| | | ]); |
| | | |
| | | const handleMainChange = (index: number) => { |
| | | if (cardCarousel.value) { |
| | | cardCarousel.value.setActiveItem(index); // 同步下方轮播 |
| | | } |
| | | |
| | | const menuIndex = ref<String>("index"); // 共享当前索引 |
| | | |
| | | |
| | | const items = ref([0, 1, 2, 3]); // 轮播项 |
| | | const mainCarousel = ref<InstanceType<typeof ElCarousel> | null>(null); |
| | | const cardCarousel = ref<InstanceType<typeof ElCarousel> | null>(null); |
| | | |
| | | const handleMainChange = (index: number) => { |
| | | if (cardCarousel.value) { |
| | | cardCarousel.value.setActiveItem(index); // 同步下方轮播 |
| | | } |
| | | }; |
| | | |
| | | const handleCardChange = (index: number) => { |
| | | if (mainCarousel.value) { |
| | | mainCarousel.value.setActiveItem(index); // 同步上方轮播 |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .home-container { |
| | | position: relative; |
| | | width: 100%; |
| | | min-height: 100vh; |
| | | margin: 0; |
| | | padding: 0; |
| | | }; |
| | | const handleCardChange = (index: number) => { |
| | | if (mainCarousel.value) { |
| | | mainCarousel.value.setActiveItem(index); // 同步上方轮播 |
| | | } |
| | | |
| | | |
| | | |
| | | .el-menu--horizontal { |
| | | --el-menu-horizontal-height: 40px; |
| | | } |
| | | |
| | | .logo-container { |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .logo { |
| | | height: 40px; |
| | | margin-right: 10px; |
| | | } |
| | | |
| | | .logo-text { |
| | | font-size: 18px; |
| | | font-weight: bold; |
| | | color: #333; |
| | | } |
| | | |
| | | |
| | | |
| | | .main-content { |
| | | width: 100%; |
| | | margin-top: 60px; |
| | | /* 为固定的header留出空间 */ |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | padding: 0px; |
| | | /* height: 600px; */ |
| | | width: 100%; |
| | | } |
| | | |
| | | .banner { |
| | | position: relative; |
| | | width: 100%; |
| | | min-height: calc(100vh - 60px); |
| | | /* 减去header高度 */ |
| | | background: linear-gradient(to bottom, #1a237e, #3949ab); |
| | | color: white; |
| | | /* padding: 40px 0; */ |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | .logos-container { |
| | | display: flex; |
| | | justify-content: center; |
| | | gap: 40px; |
| | | margin: 30px 0; |
| | | } |
| | | |
| | | .cert-logo, |
| | | .company-logo { |
| | | height: 80px; |
| | | } |
| | | |
| | | .main-title { |
| | | font-size: 36px; |
| | | text-align: center; |
| | | margin: 40px 0; |
| | | } |
| | | |
| | | }; |
| | | |
| | | const cooperativeClients = ref<CooperativeClient[]>([ |
| | | {url:'http://192.168.1.201:9000/portal/customers/c29.png', name:'图片2', desc:'图片2'}, |
| | | {url:'http://192.168.1.201:9000/portal/customers/c34.png', name:'图片2', desc:'图片2'}, |
| | | |
| | | {url:'http://192.168.1.201:9000/portal/customers/c1.png', name:'图片1', desc:'图片1'}, |
| | | {url:'http://192.168.1.201:9000/portal/customers/c22.png', name:'图片2', desc:'图片2'}, |
| | | {url:'http://192.168.1.201:9000/portal/customers/c23.png', name:'图片2', desc:'图片2'}, |
| | | {url:'http://192.168.1.201:9000/portal/customers/c24.png', name:'图片2', desc:'图片2'}, |
| | | {url:'http://192.168.1.201:9000/portal/customers/c25.png', name:'图片2', desc:'图片2'}, |
| | | {url:'http://192.168.1.201:9000/portal/customers/c26.png', name:'图片2', desc:'图片2'}, |
| | | {url:'http://192.168.1.201:9000/portal/customers/c27.png', name:'图片2', desc:'图片2'}, |
| | | {url:'http://192.168.1.201:9000/portal/customers/c28.png', name:'图片2', desc:'图片2'}, |
| | | // {url:'http://192.168.1.201:9000/portal/customers/c29.png', name:'图片2', desc:'图片2'}, |
| | | {url:'http://192.168.1.201:9000/portal/customers/c30.png', name:'图片2', desc:'图片2'}, |
| | | {url:'http://192.168.1.201:9000/portal/customers/c31.png', name:'图片2', desc:'图片2'}, |
| | | {url:'http://192.168.1.201:9000/portal/customers/c32.png', name:'图片2', desc:'图片2'}, |
| | | {url:'http://192.168.1.201:9000/portal/customers/c33.png', name:'图片2', desc:'图片2'}, |
| | | // {url:'http://192.168.1.201:9000/portal/customers/c34.png', name:'图片2', desc:'图片2'}, |
| | | {url:'http://192.168.1.201:9000/portal/customers/c35.png', name:'图片2', desc:'图片2'}, |
| | | {url:'http://192.168.1.201:9000/portal/customers/c36.png', name:'图片2', desc:'图片2'}, |
| | | {url:'http://192.168.1.201:9000/portal/customers/c37.png', name:'图片2', desc:'图片2'}, |
| | | {url:'http://192.168.1.201:9000/portal/customers/c38.png', name:'图片2', desc:'图片2'}, |
| | | {url:'http://192.168.1.201:9000/portal/customers/c39.png', name:'图片2', desc:'图片2'}, |
| | | {url:'http://192.168.1.201:9000/portal/customers/c40.png', name:'图片2', desc:'图片2'}, |
| | | ]) |
| | | |
| | | // 新增产品组数据 |
| | | const productGroups = ref<ProductGroup[]>([ |
| | | { |
| | | products: [ |
| | | { imgUrl: 'http://192.168.1.201:9000/portal/product-our/S2B2B.png', title: 'S2B2B', desc: '通过数字化整合上下游资源,重构传统供应链“多级分销、信息割裂”的痛点,实现供应商增收......' }, |
| | | { imgUrl: 'http://192.168.1.201:9000/portal/product-our/实验室管理系统.png', title: '实验室管理系统', desc: '主要应用于汽车零部件质检行业。它能解决委托单流转、设备管理、数据管理、权限管理等方面的痛点,具备委托单管理.....' }, |
| | | { imgUrl: 'http://192.168.1.201:9000/portal/product-our/TQS系统.png', title: 'TQS系统', desc: '解决制造业、汽车业培训痛点。它涵盖多个模块,具备人员信息管理、培训管理、岗位技能培训管理等功能,能实现培训数字...' }, |
| | | { imgUrl: 'http://192.168.1.201:9000/portal/product-our/外部供应商管理系统.png', title: '外部供应商管理系统', desc: '破信息壁垒,实现数据共享,自动化处理订单,增强沟通与生产跟踪。系统具备多模块功能,涵盖用户、订单、工单等管理,支持移动端扫码记录工时...' } |
| | | ] |
| | | }, |
| | | { products: [ |
| | | { imgUrl: 'http://192.168.1.201:9000/portal/product-our/JIT.png', title: 'JIT', desc: '面向工业领域的生产管理系统,旨在减少库存和浪费、提升生产效率。它针对数据出错、库存积压等行业痛点,提供数字化管理、自动化检测等解决方案。系统具备物料管理、工艺路线管理等多种功能,实现生产全过程管控与高效运营' }, |
| | | { imgUrl: 'http://192.168.1.201:9000/portal/product-our/CPTM.png', title: 'CPTM', desc: '优化人力开发流程,助力企业发展。它解决了企业培训管理缺乏系统化、报考流程效率低等问题,具备集成平台管理、自动化流程、技能评估等功能,涵盖培训管理、人员信息管理等模块,推动员工和团队能力提升。' }, |
| | | |
| | | ] } |
| | | ]); |
| | | |
| | | const ProductCenters = ref<ProductCenter[]>([ |
| | | { url:'http://192.168.1.201:9000/portal/product-center/LIMS系统介绍方案.pdf', name:'LIMS实验室管理系统', desc:'LIMS实验室管理系统'}, |
| | | { url:'http://192.168.1.201:9000/portal/product-center/外部供应商管理系统介绍.pdf', name:'供应商管理系统', desc:'供应商管理系统'}, |
| | | { url:'http://192.168.1.201:9000/portal/product-center/TQS系统介绍与解决方案.pdf', name:'TQS企业培训系统', desc:'TQS企业培训系统'}, |
| | | { url:'http://192.168.1.201:9000/portal/product-center/花满芫小程序产品介绍.pdf', name:'S2B2B小程序平台', desc:'S2B2B小程序平台'}, |
| | | { url:'http://192.168.1.201:9000/portal/product-center/JIT系统介绍.pdf', name:'JIT系统', desc:'JIT系统'}, |
| | | { url:'http://192.168.1.201:9000/portal/product-center/CPTM软件产品介绍.pdf', name:'CPTM企业能力管理系统', desc:'CPTM企业能力管理系统'}, |
| | | ]) |
| | | |
| | | |
| | | const companyInfo = ref<CompanyInfo>({ |
| | | logo: "http://192.168.1.201:9000/portal/logo.png", |
| | | name: "云游四方", |
| | | desc: "专注于智能化解决方案", |
| | | address: "江苏省苏州市虎丘区华云路1号桑田岛科创园", |
| | | wechat:"http://192.168.1.201:9000/portal/company-info/联系微信.png", |
| | | phoneHotList: ["400-123-4567", "010-88889999"], |
| | | phoneSaleAfterList: ["400-987-6543", "010-66667777"], |
| | | qrCodeList: [ |
| | | { url:"http://192.168.1.201:9000/portal/company-info/服务号.jpg", name:"服务号"}, |
| | | { url:"http://192.168.1.201:9000/portal/company-info/联系微信.png",name: "联系微信"}, |
| | | ] |
| | | }); |
| | | |
| | | |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .home-container { |
| | | position: relative; |
| | | width: 100%; |
| | | min-height: 100vh; |
| | | margin: 0; |
| | | padding: 0; |
| | | } |
| | | |
| | | |
| | | |
| | | .el-menu--horizontal { |
| | | --el-menu-horizontal-height: 40px; |
| | | } |
| | | |
| | | .logo-container { |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .logo { |
| | | height: 40px; |
| | | margin-right: 10px; |
| | | } |
| | | |
| | | .logo-text { |
| | | font-size: 18px; |
| | | font-weight: bold; |
| | | color: #333; |
| | | } |
| | | |
| | | |
| | | |
| | | .main-content { |
| | | width: 100%; |
| | | margin-top: 60px; |
| | | /* 为固定的header留出空间 */ |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | padding: 0px; |
| | | /* height: 600px; */ |
| | | width: 100%; |
| | | } |
| | | |
| | | .banner { |
| | | position: relative; |
| | | width: 100%; |
| | | min-height: calc(100vh - 60px); |
| | | /* 减去header高度 */ |
| | | background: linear-gradient(to bottom, #1a237e, #3949ab); |
| | | color: white; |
| | | /* padding: 40px 0; */ |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | .logos-container { |
| | | display: flex; |
| | | justify-content: center; |
| | | gap: 40px; |
| | | margin: 30px 0; |
| | | } |
| | | |
| | | .cert-logo, |
| | | .company-logo { |
| | | height: 80px; |
| | | } |
| | | |
| | | .main-title { |
| | | font-size: 36px; |
| | | text-align: center; |
| | | margin: 40px 0; |
| | | } |
| | | |
| | | .organizers { |
| | | display: flex; |
| | | justify-content: center; |
| | | gap: 20px; |
| | | margin: 20px 0; |
| | | } |
| | | |
| | | .org-item { |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .org-label { |
| | | color: #ccc; |
| | | margin-right: 5px; |
| | | } |
| | | |
| | | .org-name { |
| | | color: white; |
| | | } |
| | | |
| | | .location { |
| | | margin: 40px 0; |
| | | } |
| | | |
| | | .location h2 { |
| | | font-size: 32px; |
| | | text-align: center; |
| | | } |
| | | |
| | | .info-cards { |
| | | display: flex; |
| | | justify-content: center; |
| | | gap: 20px; |
| | | width: 80%; |
| | | margin-top: 40px; |
| | | margin-bottom: 40px; |
| | | /* 添加底部间距 */ |
| | | flex-wrap: wrap; |
| | | /* 在小屏幕上允许换行 */ |
| | | } |
| | | |
| | | .info-card { |
| | | background-color: rgba(255, 255, 255, 0.1); |
| | | padding: 20px; |
| | | border-radius: 5px; |
| | | flex: 1; |
| | | min-width: 250px; |
| | | /* 确保在小屏幕上有最小宽度 */ |
| | | } |
| | | |
| | | .card-title { |
| | | font-size: 18px; |
| | | margin-bottom: 10px; |
| | | color: white; |
| | | } |
| | | |
| | | .card-desc { |
| | | color: #ddd; |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .float-buttons { |
| | | position: fixed; |
| | | right: 20px; |
| | | bottom: 100px; |
| | | display: flex; |
| | | flex-direction: column; |
| | | gap: 10px; |
| | | } |
| | | |
| | | .float-btn { |
| | | width: 60px; |
| | | height: 60px; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | } |
| | | |
| | | .btn-content { |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | font-size: 12px; |
| | | } |
| | | |
| | | .product-btn { |
| | | background-color: #fff; |
| | | color: #333; |
| | | } |
| | | |
| | | .service-btn { |
| | | background-color: #fff; |
| | | color: #333; |
| | | } |
| | | |
| | | .top-btn { |
| | | background-color: #fff; |
| | | color: #333; |
| | | } |
| | | |
| | | /* 添加响应式设计 */ |
| | | @media (max-width: 768px) { |
| | | .organizers { |
| | | display: flex; |
| | | justify-content: center; |
| | | gap: 20px; |
| | | margin: 20px 0; |
| | | } |
| | | |
| | | .org-item { |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .org-label { |
| | | color: #ccc; |
| | | margin-right: 5px; |
| | | } |
| | | |
| | | .org-name { |
| | | color: white; |
| | | } |
| | | |
| | | .location { |
| | | margin: 40px 0; |
| | | } |
| | | |
| | | .location h2 { |
| | | font-size: 32px; |
| | | text-align: center; |
| | | } |
| | | |
| | | .info-cards { |
| | | display: flex; |
| | | justify-content: center; |
| | | gap: 20px; |
| | | width: 80%; |
| | | margin-top: 40px; |
| | | margin-bottom: 40px; |
| | | /* 添加底部间距 */ |
| | | flex-wrap: wrap; |
| | | /* 在小屏幕上允许换行 */ |
| | | } |
| | | |
| | | .info-card { |
| | | background-color: rgba(255, 255, 255, 0.1); |
| | | padding: 20px; |
| | | border-radius: 5px; |
| | | flex: 1; |
| | | min-width: 250px; |
| | | /* 确保在小屏幕上有最小宽度 */ |
| | | } |
| | | |
| | | .card-title { |
| | | font-size: 18px; |
| | | margin-bottom: 10px; |
| | | color: white; |
| | | } |
| | | |
| | | .card-desc { |
| | | color: #ddd; |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .float-buttons { |
| | | position: fixed; |
| | | right: 20px; |
| | | bottom: 100px; |
| | | display: flex; |
| | | flex-direction: column; |
| | | gap: 10px; |
| | | } |
| | | |
| | | .float-btn { |
| | | width: 60px; |
| | | height: 60px; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | } |
| | | |
| | | .btn-content { |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | font-size: 12px; |
| | | } |
| | | |
| | | .product-btn { |
| | | background-color: #fff; |
| | | color: #333; |
| | | } |
| | | |
| | | .service-btn { |
| | | background-color: #fff; |
| | | color: #333; |
| | | } |
| | | |
| | | .top-btn { |
| | | background-color: #fff; |
| | | color: #333; |
| | | } |
| | | |
| | | /* 添加响应式设计 */ |
| | | @media (max-width: 768px) { |
| | | .organizers { |
| | | flex-direction: column; |
| | | align-items: center; |
| | | } |
| | | |
| | | .info-cards { |
| | | width: 90%; |
| | | } |
| | | |
| | | .main-title { |
| | | font-size: 28px; |
| | | padding: 0 15px; |
| | | } |
| | | } |
| | | </style> |
| | | |
| | | |
| | | <style scoped> |
| | | .demonstration { |
| | | color: var(--el-text-color-secondary); |
| | | } |
| | | |
| | | .el-carousel__item h3 { |
| | | color: #475669; |
| | | opacity: 0.75; |
| | | line-height: 150px; |
| | | margin: 0; |
| | | text-align: center; |
| | | } |
| | | |
| | | .el-carousel__item:nth-child(2n) { |
| | | /* background-color: #FFFFFF; */ |
| | | } |
| | | |
| | | .el-carousel__item:nth-child(2n + 1) { |
| | | /* background-color: #FFFFFF; */ |
| | | } |
| | | </style> |
| | | |
| | | <style scoped> |
| | | .carousel-container { |
| | | position: relative; |
| | | margin-top: 30px; |
| | | } |
| | | |
| | | .overlay-carousel { |
| | | position: absolute; |
| | | top: 400px; |
| | | /* 调整此值控制重叠程度 */ |
| | | left: 50%; |
| | | transform: translateX(-50%); |
| | | width: 80%; |
| | | /* 适当调整宽度 */ |
| | | } |
| | | |
| | | .our-products { |
| | | margin-top: 10px; |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | /* 设置子元素垂直排列 */ |
| | | align-items: center; |
| | | /* 可选:将子元素水平居中 */ |
| | | padding: 0 20px; |
| | | } |
| | | |
| | | .our-products-title { |
| | | width: 100%; |
| | | height: 50px; |
| | | text-align: center; |
| | | } |
| | | |
| | | .our-products-carousel { |
| | | margin-top: 30px; |
| | | width: 80%; |
| | | /* height: 300px; */ |
| | | } |
| | | |
| | | .our-products-carousel-product { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | /* 设置子元素垂直排列 */ |
| | | align-items: center; |
| | | /* 可选:将子元素水平居中 */ |
| | | padding: 0 5px; |
| | | } |
| | | |
| | | .card-content-div { |
| | | text-align: center; |
| | | margin: 10px; |
| | | } |
| | | |
| | | .card-content-div-title { |
| | | font-weight: 500; |
| | | } |
| | | |
| | | .card-content-div-content { |
| | | color: gray; |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .third-other { |
| | | width: 100%; |
| | | text-align: center; |
| | | margin-top: 20px; |
| | | background-color: #F2F5FA; |
| | | } |
| | | |
| | | |
| | | .footer-list { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | /* Allow wrapping to new lines */ |
| | | } |
| | | |
| | | .footer-list li { |
| | | width: 48%; |
| | | /* Adjust this value to control the width of each item */ |
| | | margin-bottom: 5px; |
| | | /* Optional: Adds space between rows */ |
| | | text-align: left; |
| | | } |
| | | |
| | | .f12 { |
| | | font-size: 12px; |
| | | color: #2B2B2B; |
| | | } |
| | | |
| | | ul, |
| | | ol, |
| | | li { |
| | | list-style: none; |
| | | } |
| | | |
| | | ul { |
| | | margin: 0; |
| | | } |
| | | |
| | | ol, |
| | | ul { |
| | | margin-top: 0; |
| | | margin-bottom: 10px; |
| | | } |
| | | |
| | | .cooperation-img { |
| | | width: 50px; |
| | | height: 50px; |
| | | object-fit: cover; |
| | | margin: 5px; |
| | | } |
| | | |
| | | .contact-us { |
| | | margin: 10px; |
| | | } |
| | | |
| | | .j-a-c { |
| | | display: flex; |
| | | /* justify-content: center; */ |
| | | align-items: center; |
| | | } |
| | | |
| | | .logo-l { |
| | | height: 20px; |
| | | } |
| | | |
| | | .logo-l-text { |
| | | font-size: 12px; |
| | | font-weight: bold; |
| | | color: #333; |
| | | } |
| | | |
| | | .m-10 { |
| | | margin-left: 10px; |
| | | } |
| | | |
| | | .footer-QR-code { |
| | | display: flex; |
| | | justify-content: flex-start; |
| | | margin-top: 10px; |
| | | } |
| | | |
| | | .qr-code-img { |
| | | width: 60px; |
| | | height: 60px; |
| | | } |
| | | |
| | | .xuanfu { |
| | | width: 30px; |
| | | height: 30px; |
| | | } |
| | | |
| | | |
| | | ::v-deep .el-carousel__mask { |
| | | /* background-color: var(--el-color-white); */ |
| | | height: 100%; |
| | | left: 0; |
| | | opacity: .24; |
| | | position: absolute; |
| | | top: 0; |
| | | transition: var(--el-transition-duration-fast); |
| | | width: 100%; |
| | | } |
| | | .carousel-content{ |
| | | /* width: 50%; |
| | | background-color: #FFFFFF; */ |
| | | text-align: center; |
| | | .info-cards { |
| | | width: 90%; |
| | | } |
| | | </style> |
| | | |
| | | .main-title { |
| | | font-size: 28px; |
| | | padding: 0 15px; |
| | | } |
| | | } |
| | | </style> |
| | | |
| | | |
| | | <style scoped> |
| | | .demonstration { |
| | | color: var(--el-text-color-secondary); |
| | | } |
| | | |
| | | .el-carousel__item h3 { |
| | | color: #475669; |
| | | opacity: 0.75; |
| | | line-height: 150px; |
| | | margin: 0; |
| | | text-align: center; |
| | | } |
| | | |
| | | .el-carousel__item:nth-child(2n) { |
| | | /* background-color: #FFFFFF; */ |
| | | } |
| | | |
| | | .el-carousel__item:nth-child(2n + 1) { |
| | | /* background-color: #FFFFFF; */ |
| | | } |
| | | </style> |
| | | |
| | | <style scoped> |
| | | .carousel-container { |
| | | position: relative; |
| | | margin-top: 30px; |
| | | min-height: calc(100vh - 60px); |
| | | } |
| | | .carousel-content-main{ |
| | | height: 100%; |
| | | } |
| | | |
| | | .overlay-carousel { |
| | | position: absolute; |
| | | top: calc(100vh - 200px); |
| | | /* 调整此值控制重叠程度 */ |
| | | left: 50%; |
| | | transform: translateX(-50%); |
| | | width: 80%; |
| | | /* 适当调整宽度 */ |
| | | } |
| | | |
| | | .our-products { |
| | | margin-top: 50px; |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | /* 设置子元素垂直排列 */ |
| | | align-items: center; |
| | | /* 可选:将子元素水平居中 */ |
| | | padding: 0 50px; |
| | | |
| | | } |
| | | |
| | | .our-products-title { |
| | | width: 100%; |
| | | height: 50px; |
| | | text-align: center; |
| | | } |
| | | |
| | | .our-products-carousel { |
| | | margin-top: 30px; |
| | | width: 80%; |
| | | /* height: 300px; */ |
| | | } |
| | | |
| | | .our-products-carousel-product { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | /* 设置子元素垂直排列 */ |
| | | align-items: center; |
| | | /* 可选:将子元素水平居中 */ |
| | | padding: 0 5px; |
| | | } |
| | | |
| | | .card-content-div { |
| | | text-align: center; |
| | | margin: 10px; |
| | | } |
| | | |
| | | .card-content-div-title { |
| | | font-weight: 500; |
| | | } |
| | | |
| | | .card-content-div-content { |
| | | color: gray; |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .third-other { |
| | | width: 100%; |
| | | text-align: center; |
| | | margin-top: 30px; |
| | | background-color: #F2F5FA; |
| | | padding: 20px; |
| | | } |
| | | |
| | | |
| | | .third-other-title { |
| | | margin: 0 20px; |
| | | } |
| | | |
| | | |
| | | .footer-list { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | /* Allow wrapping to new lines */ |
| | | } |
| | | |
| | | .footer-list li { |
| | | width: 48%; |
| | | /* Adjust this value to control the width of each item */ |
| | | margin-bottom: 5px; |
| | | /* Optional: Adds space between rows */ |
| | | text-align: left; |
| | | } |
| | | |
| | | .f12 { |
| | | font-size: 12px; |
| | | color: #2B2B2B; |
| | | } |
| | | |
| | | ul, |
| | | ol, |
| | | li { |
| | | list-style: none; |
| | | } |
| | | |
| | | ul { |
| | | margin: 0; |
| | | } |
| | | |
| | | ol, |
| | | ul { |
| | | margin-top: 0; |
| | | margin-bottom: 10px; |
| | | } |
| | | |
| | | .cooperation-img { |
| | | width: 50px; |
| | | height: 50px; |
| | | object-fit: cover; |
| | | margin: 5px; |
| | | } |
| | | |
| | | .contact-us { |
| | | margin: 10px; |
| | | } |
| | | |
| | | .j-a-c { |
| | | display: flex; |
| | | /* justify-content: center; */ |
| | | align-items: center; |
| | | } |
| | | |
| | | .j-a-c-column{ |
| | | display: flex; |
| | | align-items: center; |
| | | flex-direction: column; |
| | | } |
| | | |
| | | .logo-l { |
| | | height: 20px; |
| | | } |
| | | |
| | | .logo-l-text { |
| | | font-size: 12px; |
| | | font-weight: bold; |
| | | color: #333; |
| | | } |
| | | |
| | | .m-10 { |
| | | margin-left: 10px; |
| | | } |
| | | |
| | | .footer-QR-code { |
| | | display: flex; |
| | | justify-content: flex-start; |
| | | margin-top: 10px; |
| | | } |
| | | |
| | | .qr-code-img { |
| | | width: 60px; |
| | | height: 60px; |
| | | } |
| | | |
| | | .xuanfu { |
| | | width: 30px; |
| | | height: 30px; |
| | | } |
| | | |
| | | /* |
| | | ::v-deep .el-carousel__mask { |
| | | |
| | | height: 100%; |
| | | left: 0; |
| | | opacity: .24; |
| | | position: absolute; |
| | | top: 0; |
| | | transition: var(--el-transition-duration-fast); |
| | | width: 100%; |
| | | } */ |
| | | |
| | | .carousel-content { |
| | | /* width: 50%; |
| | | background-color: #FFFFFF; */ |
| | | text-align: center; |
| | | } |
| | | </style> |
| | |
| | | <template> |
| | | <HeaderMenu /> |
| | | <router-view /> |
| | | <Footer /> |
| | | </template> |
| | | |
| | | <script lang="ts" setup> |
| | | import HeaderMenu from '@/components/HeaderMenu.vue'; |
| | | import Footer from '@/components/Footer.vue'; |
| | | |
| | | import { ref } from 'vue'; |
| | | |
| | |
| | | <template> |
| | | <div class="container"> |
| | | <div class="container"> |
| | | <el-container> |
| | | <el-container> |
| | | <el-container> |
| | | <el-aside class="aside"> |
| | | <h5 class="aside-title">所有产品</h5> |
| | | <el-menu default-active="2" class="el-menu-vertical-demo" @open="handleOpen" @close="handleClose"> |
| | | <el-sub-menu index="1"> |
| | | <el-aside class="aside"> |
| | | <h5 class="aside-title">所有产品</h5> |
| | | <el-menu default-active="2" class="el-menu-vertical-demo" @open="handleOpen" @close="handleClose"> |
| | | <template v-for="item in menuItems" :key="item.index" @click="handleSelect(item)"> |
| | | <el-sub-menu v-if="item.subMenu" :index="item.index"> |
| | | <template #title> |
| | | <el-icon> |
| | | <location /> |
| | | <component :is="item.icon" /> |
| | | </el-icon> |
| | | <span>工业信息化</span> |
| | | <span> |
| | | <!-- {{ item.title }} --> |
| | | <el-link :underline="false" :href="item.pdfUrl" target="_blank"><span |
| | | class="f12">{{ item.title }}</span></el-link></span> |
| | | </template> |
| | | <el-menu-item index="1-1">lims系统</el-menu-item> |
| | | <el-menu-item index="1-2">JIT系统</el-menu-item> |
| | | <el-menu-item v-for="subItem in item.subMenu" :key="subItem.index" :index="subItem.index" |
| | | @click="handleSelect(subItem)"> |
| | | <!-- {{ subItem.title }} --> |
| | | <el-link :underline="false" :href="subItem.pdfUrl" target="_blank"><span |
| | | class="f12">{{ subItem.title }}</span></el-link> |
| | | </el-menu-item> |
| | | </el-sub-menu> |
| | | <el-menu-item index="2"> |
| | | <el-icon><icon-menu /></el-icon> |
| | | <span>SaaS</span> |
| | | </el-menu-item> |
| | | <el-menu-item index="3"> |
| | | <el-menu-item v-else :index="item.index"> |
| | | <el-icon> |
| | | <setting /> |
| | | <component :is="item.icon" /> |
| | | </el-icon> |
| | | <span>C端</span> |
| | | <span>{{ item.title }}</span> |
| | | </el-menu-item> |
| | | </el-menu> |
| | | </el-aside> |
| | | <el-main> |
| | | <div class="main-up"> |
| | | <img src="http://192.168.1.201:9000/portal/product_2.png" class="main-image" alt=""> |
| | | </template> |
| | | </el-menu> |
| | | </el-aside> |
| | | <el-main style="width: 80vh;overflow: hidden;"> |
| | | <div class="main-up"> |
| | | <!-- <img :src="curImg" class="main-image" alt=""> --> |
| | | <div style="width: 100%; text-align: center;"><h1 style="font-weight: 600;color: #15A2E9 ;font-size: 20px;">云游四方操作系统</h1></div> |
| | | <div style="width: 100%;height: 90%;"> |
| | | <img src="http://192.168.1.201:9000/portal/product-center/产品背景.png" alt="" style="width: 15%; height: 90%;margin: 10px;"> |
| | | <img src="http://192.168.1.201:9000/portal/product-center/产品背景2.png" alt="" style="width: 60%; height: 90%;margin: 10px;"> |
| | | <img src="http://192.168.1.201:9000/portal/product-center/产品背景图3.jpg" alt="" style="width: 15%; height: 90%;margin: 10px;"> |
| | | </div> |
| | | </div> |
| | | <div class="main-down"> |
| | | <h5 class="section-title">推荐产品</h5> |
| | | <div class="card-container"> |
| | | <el-card v-for="(item, index) in products" :key="index" class="card"> |
| | | <img :src="item.imgUrl" class="card-image" /> |
| | | <div class="card-content"> |
| | | <span class="card-title">{{ item.title }}</span> |
| | | </div> |
| | | <div class="card-content"> |
| | | <span class="card-description">{{ item.desc }}</span> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | <div class="main-down"> |
| | | <h5 class="section-title">推荐产品</h5> |
| | | <div class="card-container"> |
| | | <el-card v-for="(item, index) in 3" :key="index" class="card"> |
| | | <img src="http://192.168.1.201:9000/portal/bg.png" class="card-image" /> |
| | | <div class="card-content"> |
| | | <span class="card-title">智慧校园门户网站</span> |
| | | </div> |
| | | <div class="card-content"> |
| | | <span class="card-description">提供全流程、一体化的数据</span> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | </div> |
| | | </el-main> |
| | | </el-container> |
| | | </div> |
| | | </el-main> |
| | | </el-container> |
| | | </div> |
| | | </template> |
| | | |
| | | <script lang="ts" setup> |
| | | import { Document, Menu as IconMenu, Location, Setting } from '@element-plus/icons-vue'; |
| | | |
| | | const handleOpen = (key: string, keyPath: string[]) => { |
| | | console.log(key, keyPath); |
| | | }; |
| | | |
| | | const handleClose = (key: string, keyPath: string[]) => { |
| | | console.log(key, keyPath); |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .container { |
| | | margin: 70px; |
| | | height: 100%; |
| | | } |
| | | |
| | | .aside { |
| | | width: 200px; |
| | | } |
| | | |
| | | .aside-title { |
| | | margin-bottom: 10px; |
| | | } |
| | | |
| | | .main-up { |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | /* padding: 20px; */ |
| | | } |
| | | |
| | | .main-image { |
| | | width: 800px; |
| | | height: 250px; |
| | | } |
| | | |
| | | .main-down { |
| | | margin-top: 10px; |
| | | } |
| | | |
| | | .section-title { |
| | | margin-bottom: 10px; |
| | | } |
| | | |
| | | .card-container { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | } |
| | | |
| | | .card { |
| | | width: 200px; |
| | | height: 200px; |
| | | margin: 10px; |
| | | } |
| | | |
| | | .card-image { |
| | | width: 100%; |
| | | height: 80px; |
| | | object-fit: cover; |
| | | } |
| | | |
| | | .card-content { |
| | | text-align: center; |
| | | } |
| | | |
| | | .card-title { |
| | | font-weight: bold; |
| | | } |
| | | |
| | | .card-description { |
| | | color: gray; |
| | | } |
| | | </style> |
| | | </el-container> |
| | | </div> |
| | | </template> |
| | | |
| | | <script lang="ts" setup> |
| | | import { ref } from 'vue' |
| | | import { Document, Menu as IconMenu, Location, Setting } from '@element-plus/icons-vue'; |
| | | import { MenuItem, Products } from '@/models/portalModels'; |
| | | |
| | | |
| | | |
| | | const menuItems: MenuItem[] = [ |
| | | { |
| | | index: '1', |
| | | title: '工业信息化', |
| | | imgUrl: '', |
| | | pdfUrl: '', |
| | | icon: Location, |
| | | subMenu: [ |
| | | { |
| | | index: '1-1', |
| | | title: '实验室管理系统', |
| | | imgUrl: 'http://192.168.1.201:9000/portal/product-our/实验室管理系统.png', |
| | | pdfUrl: 'http://192.168.1.201:9000/portal/product-center/LIMS系统介绍方案.pdf', |
| | | }, |
| | | { |
| | | index: '1-2', |
| | | title: 'TQS系统', |
| | | imgUrl: 'http://192.168.1.201:9000/portal/product-our/TQS系统.png', |
| | | pdfUrl: 'http://192.168.1.201:9000/portal/product-center/TQS系统介绍与解决方案.pdf', |
| | | }, |
| | | { |
| | | index: '1-3', |
| | | title: 'CPTM系统', |
| | | imgUrl: 'http://192.168.1.201:9000/portal/product-our/CPTM.png', |
| | | pdfUrl: 'http://192.168.1.201:9000/portal/product-center/CPTM软件产品介绍.pdf', |
| | | }, |
| | | { |
| | | index: '1-4', |
| | | title: 'JIT系统', |
| | | imgUrl: 'http://192.168.1.201:9000/portal/product-our/JIT.png', |
| | | pdfUrl: 'http://192.168.1.201:9000/portal/product-center/JIT系统介绍.pdf', |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | index: '2', |
| | | title: 'SaaS平台', |
| | | imgUrl: '', |
| | | pdfUrl: '', |
| | | icon: IconMenu, |
| | | subMenu: [ |
| | | { |
| | | index: '2-1', |
| | | title: '供应商管理系统', |
| | | imgUrl: 'http://192.168.1.201:9000/portal/product-our/外部供应商管理系统.png', |
| | | pdfUrl: 'http://192.168.1.201:9000/portal/product-center/外部供应商管理系统介绍.pdf', |
| | | }, |
| | | { |
| | | index: '2-2', |
| | | title: 'S2B2B平台', |
| | | imgUrl: 'http://192.168.1.201:9000/portal/product-our/S2B2B.png', |
| | | pdfUrl: 'http://192.168.1.201:9000/portal/product-center/花满芫小程序产品介绍.pdf', |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | index: '3', |
| | | title: 'C端', |
| | | imgUrl: '', |
| | | pdfUrl: '', |
| | | icon: Setting, |
| | | subMenu: [ |
| | | ], |
| | | }, |
| | | ]; |
| | | |
| | | const products = ref<Products[]>([ |
| | | { imgUrl: 'http://192.168.1.201:9000/portal/product-our/外部供应商管理系统.png', title: '外部供应商管理系统', desc: '破信息壁垒,实现数据共享,自动化处理订单,增强沟通与生产跟踪。系统具备多模块功能,涵盖用户、订单、工单等管理,支持移动端扫码记录工时...' }, |
| | | { imgUrl: 'http://192.168.1.201:9000/portal/product-our/S2B2B.png', title: 'S2B2B', desc: '通过数字化整合上下游资源,重构传统供应链“多级分销、信息割裂”的痛点,实现供应商增收......' }, |
| | | { imgUrl: 'http://192.168.1.201:9000/portal/product-our/实验室管理系统.png', title: '实验室管理系统', desc: '主要应用于汽车零部件质检行业。它能解决委托单流转、设备管理、数据管理、权限管理等方面的痛点,具备委托单管理.....' }, |
| | | // { imgUrl: 'http://192.168.1.201:9000/portal/product-our/TQS系统.png', title: 'TQS系统', desc: '解决制造业、汽车业培训痛点。它涵盖多个模块,具备人员信息管理、培训管理、岗位技能培训管理等功能,能实现培训数字...' }, |
| | | // { imgUrl: 'http://192.168.1.201:9000/portal/product-our/外部供应商管理系统.png', title: '外部供应商管理系统', desc: '破信息壁垒,实现数据共享,自动化处理订单,增强沟通与生产跟踪。系统具备多模块功能,涵盖用户、订单、工单等管理,支持移动端扫码记录工时...' }, |
| | | // { imgUrl: 'http://192.168.1.201:9000/portal/product-our/JIT.png', title: 'JIT', desc: '面向工业领域的生产管理系统,旨在减少库存和浪费、提升生产效率。它针对数据出错、库存积压等行业痛点,提供数字化管理、自动化检测等解决方案。系统具备物料管理、工艺路线管理等多种功能,实现生产全过程管控与高效运营' }, |
| | | // { imgUrl: 'http://192.168.1.201:9000/portal/product-our/CPTM.png', title: 'CPTM', desc: '优化人力开发流程,助力企业发展。它解决了企业培训管理缺乏系统化、报考流程效率低等问题,具备集成平台管理、自动化流程、技能评估等功能,涵盖培训管理、人员信息管理等模块,推动员工和团队能力提升。' }, |
| | | |
| | | ]) |
| | | |
| | | const handleOpen = (key: string, keyPath: string[]) => { |
| | | console.log(key, keyPath); |
| | | }; |
| | | |
| | | const handleClose = (key: string, keyPath: string[]) => { |
| | | console.log(key, keyPath); |
| | | }; |
| | | |
| | | const handleSelect = (item: MenuItem) => { |
| | | console.log(item); |
| | | curImg.value = item.imgUrl |
| | | }; |
| | | |
| | | const curImg = ref('http://192.168.1.201:9000/portal/bg.png'); |
| | | |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .container { |
| | | margin: 70px; |
| | | height: 100%; |
| | | } |
| | | |
| | | .aside { |
| | | width: 200px; |
| | | } |
| | | |
| | | .aside-title { |
| | | margin-bottom: 10px; |
| | | } |
| | | |
| | | .main-up { |
| | | display: flex; |
| | | /* justify-content: center; */ |
| | | /* align-items: center; */ |
| | | height: 38vh; |
| | | flex-direction: column; |
| | | /* padding: 20px; */ |
| | | } |
| | | |
| | | .main-image { |
| | | width: 90%; |
| | | height: 100%; |
| | | } |
| | | |
| | | .main-down { |
| | | margin-top: 10px; |
| | | } |
| | | |
| | | .section-title { |
| | | margin-bottom: 10px; |
| | | } |
| | | |
| | | .card-container { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | } |
| | | |
| | | .card { |
| | | width: 200px; |
| | | min-height: 250px; |
| | | margin: 10px; |
| | | } |
| | | |
| | | .card-image { |
| | | width: 100%; |
| | | height: 120px; |
| | | object-fit: cover; |
| | | } |
| | | |
| | | .card-content { |
| | | text-align: center; |
| | | } |
| | | |
| | | .card-title { |
| | | font-weight: bold; |
| | | } |
| | | |
| | | .card-description { |
| | | color: gray; |
| | | } |
| | | </style> |