Browse Source

ssff

master
huangli865118801 3 years ago
parent
commit
299b397497
  1. BIN
      dist.rar
  2. 2
      index.html
  3. 22978
      package-lock.json
  4. 6
      package.json
  5. 6
      src/main.js
  6. 203
      src/pages/home.css
  7. 96
      src/pages/home.vue

BIN
dist.rar

Binary file not shown.

2
index.html

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>xhm</title>
<title>逸旁科技</title>
</head>
<body style="margin: 0px;">
<div id="app"></div>

22978
package-lock.json generated

File diff suppressed because it is too large Load Diff

6
package.json

@ -17,10 +17,13 @@
"axios": "^0.24.0",
"node-sass": "^6.0.1",
"sass-loader": "^12.3.0",
"v-viewer": "^1.6.4",
"vue": "^2.5.2",
"vue-awesome-swiper": "^4.1.1",
"vue-meta": "^2.4.0",
"vue-router": "^3.0.1"
"vue-photo-preview": "^1.1.3",
"vue-router": "^3.0.1",
"vue2-waterfall": "^3.0.1"
},
"devDependencies": {
"autoprefixer": "^7.1.2",
@ -76,6 +79,7 @@
"vue-loader": "^13.3.0",
"vue-style-loader": "^3.0.1",
"vue-template-compiler": "^2.5.2",
"vue-waterfall-easy": "^2.4.4",
"webpack": "^3.6.0",
"webpack-bundle-analyzer": "^2.9.0",
"webpack-dev-server": "^2.9.1",

6
src/main.js

@ -7,13 +7,17 @@ import './units/rem';
import 'swiper/dist/css/swiper.min.css'
import 'swiper/dist/js/swiper.min'
import axios from 'axios'
import preview from 'vue-photo-preview'
import 'vue-photo-preview/dist/skin.css'
import Meta from 'vue-meta'
Vue.use(Meta)
Vue.use(Meta,preview)
Vue.config.productionTip = false
Vue.prototype.$axios = axios
/* eslint-disable no-new */
new Vue({
el: '#app',

203
src/pages/home.css

@ -276,10 +276,33 @@ a:hover {color:#38507E}
border-radius: 1.3125rem;
line-height: 2.625rem;
}
.ouer-btn:hover{
border: 1px solid #47B1E3 !important;
background: none !important;
}
.ouer-btn-two{
width: 8.875rem;
height: 2.625rem;
text-align: center;
color: white;
font-size: 1.0625rem;
font-weight: bold;
border: 1px solid #47B1E3 !important;
background: none !important;
border-radius: 1.3125rem;
line-height: 2.625rem;
}
.ouer-btn-two:hover {
width: 8.875rem;
height: 2.625rem;
text-align: center;
color: white;
font-size: 1.0625rem;
font-weight: bold;
background: #47B1E3!important;
border: 0px solid red!important;
border-radius: 1.3125rem;
line-height: 2.625rem;
}
.our-serve{
width:74rem;
@ -454,20 +477,56 @@ a:hover {color:#38507E}
background: #000000;
opacity: 0.7;
} */
.case-list:hover .case-list-act{
display: block;
transition: height 0.5s ease-in-out;
height:25.5rem;
box-shadow: 10px 0px 19px 10px rgba(59, 59, 59, 0.17);
border: 4px solid #47B1E3;
}
.case-list-act{
background: #000000;
opacity: 0.8;
width: 24.6875rem;
position: absolute;
height:18.75rem;
height:0rem;
z-index: 99;
top: 0px;
transition: opacity .5s;
}
.case-list:hover .case-name{
display: block;
transform:translateY(7.25rem);
}
.case-list:hover .case-indrouce{
display: block;
transform:translateY(8.25rem);
}
.case-name{
width: 24.6875rem;
font-size: 1.125rem;
color:#FFFFFF;
font-weight: bold;
margin-top:1rem;
display: none;
}
.case-indrouce{
width: 24.6875rem;
font-size:1rem;
color: #FFFFFF;
opacity: 0.5;
margin-top: 1.25rem;
display: none;
}
.case-list{
width:24.6875rem;
height:25.5rem;
margin-left: 4.875rem;
margin-left:3.8rem;
margin-top: 3.125rem;
text-align: center;
position: relative;
@ -479,22 +538,9 @@ a:hover {color:#38507E}
}
.case-img{
width: 100%;
height:17rem;
}
.case-name{
width: 24.6875rem;
font-size: 1.125rem;
color:#000000;
font-weight: bold;
margin-top:1rem;
}
.case-indrouce{
width: 24.6875rem;
font-size:1rem;
color: #000000;
opacity: 0.5;
margin-top: 1.25rem;
height:25.5rem;
}
.copmey-card{
width:120rem;
height: 45.375rem;
@ -674,11 +720,22 @@ a:hover {color:#38507E}
.member-list{
width: 26.5625rem;
margin-left: 2.375rem;
text-align: left;
text-align: center;
position: relative;
z-index: 9;
}
/* .member-list:hover{
-webkit-transform: scale(1.01);
-moz-transform: scale(1.01);
-ms-transform: scale(1.01);
transform: scale(1.01);
box-shadow: 10px 0px 10px 10px rgba(59, 59, 59, 0.17);
} */
.member-img{
width: 100%;
height: 18.125rem;
height:31.3125rem;
}
.member-name{
font-size: 1.0625rem;
@ -686,10 +743,39 @@ a:hover {color:#38507E}
font-weight: bold;
margin-top: 0.9375rem;
}
/* .member-img :hover .hovers{
display: block;
} */
.hovers{
width: 100%;
height:31.3125rem;
background: #000000;
opacity: 0.7;
position: absolute;
z-index: 99;
top: 0;
display: flex;
align-items: center;
}
.menmber-indroce{
width: 90%;
margin: auto;
font-size: 1.125rem;
color: white;
}
.fade-enter{
opacity: 0;
}
.fade-enter-active{
transition: opacity 1s;
}
.member-zhiwei{
font-size: 0.9375rem;
color:#666666;
font-weight: 500
font-weight: 500;
}
.hzhb-card{
width:120rem;
@ -713,6 +799,13 @@ a:hover {color:#38507E}
margin-left: 1.3125rem;
margin-top: 2.4375rem;
}
.hz-logo-img:hover{
-webkit-transform: scale(1.01);
-moz-transform: scale(1.01);
-ms-transform: scale(1.01);
transform: scale(1.01);
box-shadow: 10px 10px 10px 10px rgba(59, 59, 59, 0.17);
}
.hz-logo-img{
width:17.6875rem;
height: 8.75rem;
@ -778,7 +871,7 @@ a:hover {color:#38507E}
}
.bottom{
width:120rem;
height: 23rem;
height: 25rem;
background: #252B3A;
}
@ -787,8 +880,9 @@ width: 74.9375rem;
display: flex;
justify-content:space-between;
height: 14.5rem;
align-items: center;
margin: auto;
padding-top: 1.875rem;
}
.foot-up-left-up{
@ -877,21 +971,49 @@ width: 74.9375rem;
position: absolute;
z-index: 99;
top:0;
transition: 3s;
}
/* 可以设置不同的进入和离开动画 */
/* 设置持续时间和动画函数 */
.slide-fade-enter-active {
transition: all .3s ease;
}
.slide-fade-leave-active {
transition: all .5s cubic-bezier(1.0, 0.5, 0.8, 1.0);
}
.slide-fade-enter, .slide-fade-leave-to
/* .slide-fade-leave-active for below version 2.1.8 */ {
transform: translatey(-100vh);
opacity: 0;
}
.ewm-box{
width:45rem;
margin: auto;
display: flex;
justify-content: space-between;
margin-top:6.25rem;
}
.ewm-div:hover{
background: #000000;
}
.ewm-div-ul{
width:45rem;
display: flex;
justify-content: space-between;
}
.ewm-div{
width: 9.375rem;
height: 9.375rem;
width:13rem;
text-align: center;
}
.custor-info-dow{
font-size:1.125rem;
color: white;
margin-top: 1.25rem;
}
.custor-info-up{
font-size: 1.25rem;
color: white;
font-weight: bold;
margin-top: 0.9375rem;
}
.ewm-img-img{
width: 9.375rem;
@ -931,15 +1053,18 @@ width: 74.9375rem;
}
}
.case-list:hover{
-webkit-transform: scale(1.01);
-moz-transform: scale(1.01);
-ms-transform: scale(1.01);
transform: scale(1.01);
box-shadow: 10px 0px 19px 10px rgba(59, 59, 59, 0.17);
}
.hovers:hover,.member-img:hover{
background: #000000;
opacity: 0.4;
.list-complete-item {
transition: all 1s;
display: inline-block;
margin-right: 10px;
}
.list-complete-enter, .list-complete-leave-to
/* .list-complete-leave-active for below version 2.1.8 */ {
opacity: 0;
transform: translateY(30px);
}
.list-complete-leave-active {
position: absolute;
}

96
src/pages/home.vue

@ -5,7 +5,7 @@
<div class="nav-bar">
<div class="nav-box">
<div class="logo">
<img class="logo" src="../assets/logo.png" />
<img class="logo" :src="getImgUrl(companyInfo.logo )" />
</div>
<ul class="nav" v-for="(item,index) in menuList" :key="index">
<li class="nav-list" @click="checkMenu(item.index)">
@ -36,7 +36,7 @@
<div class="ouer-btn">
我们的服务
</div>
<div class="ouer-btn ouer-btn-two" @click="maskSwitchBtn()">联系我们</div>
<div class="ouer-btn-two" @click="maskSwitchBtn()">联系我们</div>
</div>
</div>
<div class="lunbo-img">
@ -82,8 +82,8 @@
</div>
<!-- fuwu-->
<div class="khfw" id='3'>
<div class="khfw-list" v-for="(item,index) in solve" :style="{ backgroundImage:`url(${getImgUrl(item.image)})`}"
:key="index">
<div class="khfw-list" v-for="(item,index) in solve"
:style="{ backgroundImage:`url(${getImgUrl(item.image)})`}" :key="index">
<img class="khfw-icon" :src="getImgUrl(item.background)" />
<div class="line-khfw"></div>
<div class="khfw-title">{{item.title}}</div>
@ -95,20 +95,29 @@
<div class="line-fwal"></div>
<p class="fwmw-text">{{contentInfo.ServiceCase?contentInfo.ServiceCase.introduce:''}}</p>
<div class="ywfw-ul">
<div class="ywfw-tag" :class="fwfwIndex==index?'ywfw-tag-act':'ywfw-tag'" @click="checkTag(index,item.id)"
v-for="(item,index) in ywfwList" :key="index">{{item.title}}</div>
<div class="ywfw-tag" :class="fwfwIndex==index?'ywfw-tag-act':'ywfw-tag'"
@click="checkTag(index,item.id)" v-for="(item,index) in ywfwList" :key="index">{{item.title}}</div>
</div>
<div class="case-ul">
<!-- <div class="case-ul">
<div class="case-list" v-for="(item,index) in caseList" :key="index">
<img class="case-img" :src="getImgUrl(item.image)" />
<div class="case-name">{{item.name}}</div>
<p class="case-indrouce">{{item.introduce}}</p>
</div>
</div> -->
<transition-group name="list-complete" tag="ul" v-bind:class="'case-ul'"
>
<li class="case-list" v-for="item in caseList" :key="item">
<img class="case-img" :src="getImgUrl(item.image)" />
<div class="case-list-act" >
<div class="case-name">{{item.name}}</div>
<p class="case-indrouce">{{item.introduce}}</p>
</div>
</li>
</transition-group>
</div>
<!-- 公司简介-->
<div class="copmey-card" id='2'>
<div class="copmey-card-left">
@ -156,11 +165,17 @@
<p class="fwmw-text">{{team.introduce}}</p>
<div v-if="team.content">
<div class="s-content2">
<div class="member-list" style="position: relative;" v-for="(item,index) in team.content" :key="index">
<div class="member-list" @mouseover="teamMove(index)" style="position: relative;" v-for="(item,index) in team.content"
:key="index">
<img class="member-img" :src="getImgUrl(item.avatar)" />
<div class="member-name">{{item.name}}</div>
<div class="member-zhiwei">{{item.position}}</div>
<div class="hovers" style="width: 100%;height: 18.125rem;position: absolute;top:0;left:0;"></div>
<transition name="fade" mode="out-in">
<div class="hovers" v-if="memberIds==index" >
<div class="menmber-indroce">{{item.introduce}}</div>
</div>
</transition>
</div>
</div>
</div>
@ -207,6 +222,9 @@
<div class="tel-number">
{{companyInfo.tel}}
</div>
<div class="tel-number">
{{companyInfo.phone}}
</div>
</div>
<div class="gsdz">
<div class="gsdz-title">公司地址:</div>
@ -216,18 +234,18 @@
<div class="gsdz-title">电子邮箱:</div>
<div class="gsdz-detail">{{companyInfo.email}}</div>
</div>
<div class="wxkf-ul">
<div class="wxkf-list" v-for="(item,index) in companyInfo.wechat" :key="index">
<img class="wxkf-img" :src="getImgUrl(item)" />
<div class="wxkf-name">微信客服</div>
<div class="wxkf-ul" v-if="contentInfo.CustomerService">
<div class="wxkf-list" v-for="(item,index) in contentInfo.CustomerService.content" :key="index">
<img class="wxkf-img" :src="getImgUrl(item.image)" />
<div class="wxkf-name">{{item.position}}</div>
</div>
</div>
</div>
<div class="foot-line"></div>
<div class="foot-dow">
<div class="foot-dow-ul">
<div class="foot-dow-list" v-for="(item,index) in menuList" :key="index"><a style="color: white;"
:href="'#'+item.id">
<div class="foot-dow-list" v-for="(item,index) in menuList" :key="index"><a
style="color: white;" :href="'#'+item.id">
{{item.title}}
</a></div>
<!-- <div class="foot-dow-list">联系我们</div> -->
@ -238,22 +256,36 @@
</div>
</div>
</footer>
<div class="mask" v-show="maskSwitch==true">
<div class="ewm-box">
<div class="ewm-div" v-for="(item,index) in companyInfo.wechat" :key="index">
<img class="ewm-img-img" :src="getImgUrl(item)" />
<transition name="slide-fade">
<div class="mask" v-if="maskSwitch==true">
<div class="ewm-box" v-if="contentInfo.CustomerService">
<div>请添加微信或电话咨询</div>
<div class="ewm-div-ul">
<div class="ewm-div" v-for="(item,index) in contentInfo.CustomerService.content" :key="index">
<img class="ewm-img-img" :src="getImgUrl(item.image)" />
<div class="custor-info">
<div class="custor-info-up">{{item.position}}</div>
<div class="custor-info-dow">{{item.introduce}}</div>
</div>
</div>
</div>
</div>
<div class="close-btn" @click="maskSwitchBtn()">关闭</div>
</div>
</transition>
</div>
</template>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.14.1/lodash.min.js"></script>
<script>
import {
swiper,
swiperSlide
} from "vue-awesome-swiper";
import "swiper/dist/css/swiper.css";
import Vue from 'vue';
export default {
name: "home",
@ -265,9 +297,10 @@
data() {
return {
imgsArr: [],
host: 'http://gw.x-embers.com/',
service: {},
flag: true,
flag: false,
maskSwitch: false,
scrollTop: 0,
bannerList: [],
@ -288,7 +321,9 @@
honor: {},
companyInfo: {},
description: "",
keyword: ""
keyword: "",
phone:'',
memberIds:''
};
},
@ -366,6 +401,7 @@
maskSwitchBtn() {
this.maskSwitch == false ? this.maskSwitch = true : this.maskSwitch = false;
this.scroolTab()
console.log("开关", this.maskSwitch);
},
scroolTab() {
if (this.maskSwitch == false) {
@ -422,15 +458,19 @@
this.team = this.contentInfo.team
this.partner = this.contentInfo.Partner
this.honor = this.contentInfo.Honor
this.caseList = this.contentInfo.ServiceCase.content.filter(item => {
return item.type.includes(this.checkCaseId)
})
this.caseList.filter(item => {
this.imgsArr.push(this.host + item.image)
})
// for(let i in caseTag){
// this.ywfwList.push({[i]:caseTag[i]})
// }
//this.ywfwList=Array.from(caseTag)
//this.ywfwList=this.contentInfo.ServiceCase.type_map
console.log("选项卡1", this.caseList);
console.log("选项卡1", this.imgsArr);
console.log("选项卡id", this.checkCaseId);
}, err => {
console.log(err);
@ -445,6 +485,7 @@
}
}).then(res => {
this.companyInfo = res.data.data
// this.phone=res.data.phone
console.log(res);
}, err => {
console.log(err);
@ -461,6 +502,13 @@
return item.type.includes(this.checkCaseId)
})
},
teamMove(index){
this.memberIds = index
console.log("sss",this.memberIds);
},
teamOut(){
this.memberIds = ''
},
checkMenu(selector, index) {
this.activeBtn = index;
// document.querySelector("#app-root").scrollTop = this.$el.querySelector(selector).offsetTop;

Loading…
Cancel
Save