Commit f210a539 authored by 李堔's avatar 李堔

【u】new

parent ff5473ed
Pipeline #233 failed with stages
{
}
\ No newline at end of file
export default { export default {
// Global page headers: https://go.nuxtjs.dev/config-head // Global page headers: https://go.nuxtjs.dev/config-head
ssr:true, ssr:true,
target:"static", // target:"static",
srcDir:'src/', srcDir:'src/',
head: { head: {
title: '北京见著科技有限公司-- MES系统', title: '北京见著科技有限公司-- MES系统',
...@@ -17,7 +17,10 @@ export default { ...@@ -17,7 +17,10 @@ export default {
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' } { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
] ]
}, },
server: {
port: 6005, // default: 3000
host: '0.0.0.0' // default: localhost,
},
// Global CSS: https://go.nuxtjs.dev/config-css // Global CSS: https://go.nuxtjs.dev/config-css
css: [ css: [
'view-design/dist/styles/iview.css', 'view-design/dist/styles/iview.css',
......
...@@ -6,5 +6,14 @@ ...@@ -6,5 +6,14 @@
</head> </head>
<body {{ BODY_ATTRS }}> <body {{ BODY_ATTRS }}>
{{ APP }} {{ APP }}
<script>
var _hmt = _hmt || [];
(function () {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?b54299c6e74646499b57980daf12edbc";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
</body> </body>
</html> </html>
\ No newline at end of file
.about-div {
width: 1200px;
margin: 137px auto 104px;
display: flex;
justify-content: space-between;
h4 {
color: rgb(237, 237, 237);
position: absolute;
font-size: 80px;
z-index: -1;
top: 60px;
}
p {
font-size: 26px;
font-family: Microsoft YaHei;
font-weight: bold;
color: #333333;
line-height: 38px;
}
span {
display: block;
width: 500px;
font-size: 14px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #333333;
line-height: 27px;
}
img {
width: 560px;
height: 429px;
}
}
.z3 {
display: block;
margin: 0 auto;
}
.about-fz {
width: 100%;
margin-top: 100px;
position: relative;
height: 780px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-between;
overflow: hidden;
img {
// width: 100%;
height: 100%;
position: absolute;
top: 0;
z-index: -1;
}
.title {
text-align: center;
margin-top: 84px;
p {
font-size: 26px;
font-family: Microsoft YaHei;
font-weight: bold;
color: #FFFFFF;
line-height: 42px;
}
span {
font-size: 14px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #84C8F3;
line-height: 42px;
}
}
.years {
margin-top: 154px;
display: flex;
width: 1300px;
justify-content: space-between;
align-items: flex-end;
.years-div {
display: flex;
flex-direction: column;
p {
font-size: 48px;
font-family: CTLaoSongSJ;
font-weight: 400;
color: #FFFFFF;
line-height: 105px;
}
.div {
min-width: 40px;
height: 38px;
background: #46C6E7;
font-size: 30px;
font-family: Microsoft YaHei;
font-weight: bold;
color: #FFFFFF;
line-height: 18px;
text-align: center;
margin-bottom: 13px;
padding: 10px;
}
span {
font-size: 16px;
color: #FFFFFF;
line-height: 23px;
display: block;
margin-left: 5px;
}
}
}
}
.job {
max-width: 1200px;
width: 100%;
margin-bottom: 100px;
.job-title {
display: flex;
justify-content: space-around;
width: 820px;
margin: 56px auto 80px;
cursor: pointer;
div {
width: 220px;
height: 57px;
// background: #FFFFFF;
border: 1px solid #DADADA;
font-size: 20px;
font-family: Microsoft YaHei;
font-weight: 300;
color: #333333;
line-height: 57px;
text-align: center;
}
}
.cur {
background: #326B9B;
box-shadow: 0px 0.04rem 0.07rem 0px rgba(8, 128, 226, 0.62);
border: none !important;
font-weight: bold !important;
color: #FFFFFF !important;
}
.job-card {
width: 100%;
height: 85px;
background: #F7F7F7;
border: 1px solid #DADADA;
align-items: center;
display: flex;
margin-bottom: 10px;
cursor:pointer;
p {
font-size: 18px;
font-family: Microsoft YaHei;
font-weight: bold;
color: #333333;
line-height: 42px;
margin: 0 21% 0 3%;
min-width: 200px;
}
span {
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #333333;
line-height: 42px;
margin-right: 75px;
min-width: 155px;
}
i {
margin-left: 190px;
}
}
.job-all {
width: 1200px;
padding: 20px;
border: 1px solid #DADADA;
margin: -6px 0 19px;
display: none;
p {
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #333333;
line-height: 30px;
}
span {
font-size: 18px;
font-family: Microsoft YaHei;
font-weight: bold;
color: #333333;
line-height: 32px;
display: block;
margin-top: 50px;
margin-bottom: 10px;
}
}
.jobcur {
display: block !important;
}
}
@media screen and (max-width:600px) {
.about-pc {
display: none;
}
.case-introduce {
.title p {
font-size: 0.14rem;
}
.title .line {
width: 0.65rem;
height: 1px;
background: #9E9E9E;
}
}
.job {
.job-title {
width: 3.29rem;
margin: 0.25rem auto 0.25rem;
div {
width: 0.98rem;
height: 0.28rem;
font-size: 0.11rem;
line-height: 0.28rem;
}
}
.job-card {
width: 3.29rem;
height: 0.44rem;
margin: 5px auto;
p {
font-size: 0.11rem;
}
span {
display: none;
}
i {
margin-left: 0.1rem;
}
}
.job-all {
width: 3.29rem;
margin: 5px auto;
p {
font-size: 0.1rem;
line-height: 0.18rem;
}
span {
font-size: 0.12rem;
line-height: 0.18rem;
margin-top: 20px;
}
}
}
.title-about {
text-align: center;
position: relative;
height: 1rem;
margin-top: 0.3rem;
p {
font-size: 0.13rem;
font-family: Microsoft YaHei;
font-weight: bold;
color: #333333;
line-height: 0.19rem;
}
img {
width: 3rem;
position: absolute;
top: 25px;
left: -85px;
z-index: -1;
}
}
.map {
width: 3.27rem;
margin-bottom: 0.3rem;
}
.about-fz-p {
width: 100%;
height: 2.1rem;
position: relative;
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-between;
overflow: hidden;
margin-top: 0.4rem;
img {
position: absolute;
top: 0;
z-index: -1;
}
.title {
text-align: center;
margin-top: 0.3rem;
p {
font-size: 0.13rem;
font-family: Microsoft YaHei;
font-weight: bold;
color: #FFFFFF;
line-height: 10px;
}
span {
font-size: 0.09rem;
font-family: Microsoft YaHei;
font-weight: 400;
color: #84C8F3;
line-height: 0px;
}
}
.years-p {
display: flex;
justify-content: space-between;
width: 90%;
height: 1.3rem;
.years-p-div {
display: flex;
flex-direction: column;
height: 100%;
p {
font-size: 0.24rem;
font-family: CTLaoSongSJ;
font-weight: 400;
color: #FFFFFF;
margin-bottom: 5px;
}
.div {
height: 0.19rem;
background: #46C6E7;
font-size: 0.15rem;
font-family: Microsoft YaHei;
font-weight: bold;
color: #FFFFFF;
line-height: 18px;
text-align: center;
margin-bottom: 0.08rem;
}
span {
font-size: 0.1rem;
font-family: Microsoft YaHei;
font-weight: 400;
color: #FFFFFF;
line-height: 12px;
display: block;
margin-left: 5px;
}
}
}
}
}
.case-introduce {
display: flex;
flex-direction: column;
align-items: center;
margin-top: 64px;
// background: url(../theme/images/a.jpg) no-repeat center center;
// background-size:cover;
// &:hover{
// background: url(../theme/images/logo.png) no-repeat center center;
// transition: all 2s linear;
// }
.case-introduce-news {
width: 1200px;
margin: 60px auto;
display: flex;
flex-wrap: wrap;
// justify-content: space-around;
div {
width: 360px;
margin: 20px;
img {
width: 360px;
height: 300px;
}
p {
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
line-height: 21px;
color: #232323;
opacity: 1;
margin-top: 15px;
margin-bottom: 7px;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
}
span {
font-size: 14px;
font-family: Microsoft YaHei;
font-weight: 400;
line-height: 16px;
color: #6e6e6e;
opacity: 1;
height: 34px;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
}
}
.title {
display: flex;
align-items: center;
.line {
width: 132px;
height: 1px;
background: #9e9e9e;
margin: 0 19px;
}
p {
font-size: 30px;
font-family: Microsoft YaHei;
font-weight: bold;
color: #333333;
line-height: 42px;
}
}
.two {
display: flex;
margin-top: 70px;
justify-content: space-between;
width: 1200px;
.two-box {
display: flex;
flex-direction: column;
align-items: center;
position: relative;
img {
width: 576px;
height: 427px;
}
}
span {
font-size: 20px;
font-family: Microsoft YaHei;
font-weight: bold;
color: #333333;
line-height: 24px;
margin: 30px 0 30px;
}
.two-div {
width: 576px;
height: 427px;
background: linear-gradient(rgb(29, 87, 129), rgb(118, 207, 219));
font-size: 14px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #ffffff;
line-height: 24px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
position: absolute;
opacity: 0;
top: 0;
p {
width: 415px;
}
.moreal {
display: inline-block;
width: 93px;
height: 29px;
line-height: 29px;
text-align: center;
border-radius: 36px;
border: 1px solid #fff;
font-size: 12px;
color: #fff;
-webkit-transition: all 0.4s ease;
-moz-transition: all 0.4s ease;
-ms-transition: all 0.4s ease;
-o-transition: all 0.4s ease;
transition: all 0.4s ease;
margin-top: 100px;
&:hover {
background-color: white;
color: #4468d6;
}
}
&:hover {
opacity: 0.95;
// color: #4468d6;
transition: all 0.6s ease;
}
}
}
h5 {
font-size: 26px;
font-family: Microsoft YaHei;
font-weight: bold;
color: #333333;
line-height: 42px;
margin-top: 60px;
}
h6 {
font-size: 14px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #999999;
line-height: 25px;
}
.case-div {
p {
font-size: 20px;
font-family: Microsoft YaHei;
font-weight: bold;
color: #333333;
line-height: 42px;
margin: 25px 0 39px;
}
span {
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #666666;
line-height: 28px;
width: 524px;
display: block;
}
}
}
.case-un-div {
max-width: 1200px;
margin: 0 auto;
padding-left: 50px;
p {
font-size: 18px;
font-family: Microsoft YaHei;
font-weight: bold;
color: #333333;
line-height: 35px;
width: 85%;
}
span {
font-size: 18px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #666666;
line-height: 28px;
display: block;
width: 85%;
text-indent: 20px;
}
}
.blue-btn {
width: 218px;
height: 61px;
background: #326b9b;
box-shadow: 0px 8px 27px 0px rgba(8, 128, 226, 0.75);
font-size: 26px;
font-family: Microsoft YaHei;
font-weight: bold;
color: #ffffff;
line-height: 61px;
text-align: center;
margin-bottom: 51px;
}
.case-line {
max-width: 1200px;
height: 1px;
background: #d2d2d2;
margin: 70px auto 70px;
}
.foot-show {
display: none;
}
@media screen and (max-width: 600px) {
.case-introduce-news {
width: 3.29rem;
div {
margin: 0 0 0.2rem;
img {
width: 3.29rem;
}
p {
width: 3.29rem;
font-size: 0.16rem;
height: 0.28rem;
color: #232323;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
}
span {
font-size: 0.14rem;
line-height: 0.15rem;
width: 100%;
height: 30px;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
color: #6e6e6e;
}
}
}
.foot-show {
display: block;
}
.banner1 {
display: none;
}
.case-introduce {
display: none;
}
.case-line {
width: 3.29rem;
height: 1px;
background: #d2d2d2;
margin: 0.23rem auto 0.23rem;
}
.case-un-div {
p {
font-size: 0.14rem;
line-height: 0.22rem;
}
span {
font-size: 0.12rem;
line-height: 0.17rem;
}
}
.blue-btn {
width: 1.09rem;
height: 0.3rem;
font-size: 0.13rem;
line-height: 0.3rem;
margin: 0.3rem 0 0.3rem;
box-shadow: 0px 0.04rem 0.27rem 0px rgba(8, 128, 226, 0.75);
}
.footr {
margin-bottom: 30px !important;
}
.case1-all {
width: 3.29rem;
img {
width: 100%;
}
p {
font-size: 0.14rem;
font-family: Microsoft YaHei;
font-weight: bold;
color: #333333;
line-height: 0.12rem;
margin-top: 10px;
}
span {
font-size: 0.12rem;
font-family: Microsoft YaHei;
font-weight: 400;
color: #666666;
line-height: 0.16rem;
margin-top: 0.15rem;
margin-bottom: 0.2rem;
}
}
}
@media screen and (max-width:1000px) {
.body .service .pa .moreal {
margin-top: 20px;
}
.body .service .pa {
width: 400px;
}
.body .service .pa .info {
height: auto;
// overflow: hidden;
}
.body .service .pa {
// padding: 28px 24px;
}
}
@media screen and (max-width:600px) {
.body .service .pa .moreal {
width: auto;
line-height: 20px;
margin-top: 2rem;
padding: 5px;
}
.silder a {
width: 60px;
height: 60px;
font-size: 12px;
}
.silder {
width: auto;
}
.tc i {
font-size: 16px !important;
}
// .mainf .body .service .pa .info{
// display: none!important;
// }
}
@media screen and (min-width:1980px) {
.body .banner-new .pr img {
width: 1920px;
display: block;
margin: 0 auto;
}
}
@media screen and (max-width:870px) {
.ewm {
width: 80px;
height: 80px;
}
.map {
width: 370px;
}
.scene {
display: none !important;
}
.swiper {
display: block;
}
}
@media screen and (min-width:870px) {
.scene {
display: block !important;
}
.swiper {
display: none;
}
}
.ivu-carousel-list {
height: 460px;
}
.weixin-show {
h2 {
border: none;
// padding: 10px;
padding-left: 0;
line-height: 15px;
}
position: absolute;
width: 604px;
height: 162px;
background:#fff;
left: 45%;
top: 90px;
-webkit-box-shadow: -6px 3px 12px rgba(14, 65, 115, 0.1);
-moz-box-shadow: -6px 3px 12px rgba(14, 65, 115, 0.1);
box-shadow: -6px 3px 12px rgba(14, 65, 115, 0.1);
}
.weixin-show>div {
float: left;
margin-top: 20px;
margin-left: 56px;
margin-right: 30px;
text-align: center;
}
.weixin-show>div h2 {
font-size: 14px;
color: #333;
font-weight: bolder;
}
.weixin-show .line {
margin-top: 0px;
margin-left: 0px;
width: 100%;
height: 4px;
background: #64d8f7;
}
.big-img {
width: 1200px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
margin-top: 30px;
margin-bottom: 50px;
img {
margin: 10px 6px;
}
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
<template>
<div class="scene s" v-if="show">
<ul>
<li
class="scene-img"
v-for="(li, i) in list"
:key="i"
@mouseover="hover(i)"
:class="{ cur: pointIndex == i }"
:style="getStl(i)"
>
<img :src="li.img" alt="" />
<div class="title">
{{ li.title }}
</div>
</li>
</ul>
</div>
</template>
<script>
export default {
props: ["list"],
data() {
return {
pointIndex: 0,
sum:1200,
long: 600,
short: 0,
show:true,
};
},
mounted() {
let len=this.list.length-1;
this.short=Math.floor(600/len*1000)/1000;
console.warn("show",this.short,this.list.length,len)
},
methods: {
hover(i) {
this.pointIndex = i;
},
getStl(i){
if(this.list.length!=0){
this.show=true
if( this.pointIndex == i){
return {
width:this.long+'px'
}
}else{
return{width:this.short+'px'}
}
}else{
this.show=false
}
}
}
};
</script>
<style lang="less" scoped>
.scene {
ul {
height: 300px;
margin-bottom: 50px;
// overflow: hidden;
li {
height: 300px;
list-style: none;
float: left;
overflow: hidden;
transition: all 0.2s;
position: relative;
width: 8rem;
.title {
display: none;
position: absolute;
width: 100%;
height: 40px;
left: 0;
line-height: 40px;
z-index: 99;
background: rgba(#232323, 0.4);
bottom: 0;
color: white;
padding-left: 50px;
}
&.cur {
transition: all 1s;
.title {
display: block;
}
}
}
}
&.s {
li {
}
}
}
</style>
<template> <template>
<div class="function"> <div class="function">
<!-- <input type="text" v-model="width">
<input type="text" v-model="height"> -->
<div class="cards"> <div class="cards">
<div class="operate" :class="{disabled:last}" v-if="list.length>5"> <div class="operate" :class="{disabled:last}" v-if="list.length>=nub">
<Icon type="ios-arrow-back" size="60" @click="page(-1)"/> <Icon type="ios-arrow-back" size="60" @click="page(-1)"/>
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="card-item" v-for="(li,i) in items" :key="i"> <div class="card-item" v-for="(li,i) in items" :key="i">
<div class="card"> <div class="card" ref='test' @mouseover="hover(i)" :class="{ cur:kindex == i }">
<div class="card-title" v-html="li.title"> <img :src="apiurl+li.url" alt="">
<div class="card-title">
{{li.name}}
</div> </div>
<div class="card-info" v-html="li.content"></div> <div class="card-info" v-html="li.note"></div>
</div> </div>
</div> </div>
</div> </div>
<div class="operate" :class="{disabled:next}" v-if="list.length>5"> <div class="operate" :class="{disabled:next}" v-if="list.length>=nub">
<Icon type="ios-arrow-forward" size="60" @click="page(1)"/> <Icon type="ios-arrow-forward" size="60" @click="page(1)"/>
</div> </div>
</div> </div>
...@@ -22,6 +25,8 @@ ...@@ -22,6 +25,8 @@
</template> </template>
<script> <script>
import Config from '@/config';
import elementResizeDetectorMaker from "element-resize-detector";
export default { export default {
name: 'ProductFuntions', name: 'ProductFuntions',
props:{ props:{
...@@ -32,7 +37,13 @@ ...@@ -32,7 +37,13 @@
}, },
data(){ data(){
return { return {
apiurl:Config.apiBaseUrl,
index:0, index:0,
nub:4,
width:0,
height:0,
kindex: null
// screenWidth: this.body.clientWidth,
} }
}, },
methods:{ methods:{
...@@ -40,23 +51,71 @@ ...@@ -40,23 +51,71 @@
this.index+=n; this.index+=n;
if(this.index<0){ if(this.index<0){
this.index=0; this.index=0;
} else if(this.index>this.list.length-5){ } else if(this.index>this.list.length-this.nub){
this.index=this.list.length-5; this.index=this.list.length-this.nub;
} }
},
hover(i) {
this.kindex = i;
},
watchSize() {
console.log('1111111')
const _this = this;
var erd = elementResizeDetectorMaker();
erd.listenTo(this.$refs.test, (element) => { // 这里的this.$refs.fan指定要监听的元素对象,对应的是<div ref="fan"></div>
var width = element.offsetWidth;
var height = element.offsetHeight;
_this.$nextTick(() => { // 这里填写监听改变后的操作
_this.width=width
// _this.height=height
if(width<=90){
_this.nub=3
}else{
_this.nub=4
} }
});
});
},
}, },
computed:{ computed:{
items(){ items(){
return this.list.filter((u,i)=>{ return this.list.filter((u,i)=>{
return i>=this.index&&i<this.index+5; return i>=this.index&&i<this.index+this.nub;
}) })
}, },
next(){ next(){
return this.list.length-this.index-5==0; return this.list.length-this.index-this.nub==0;
}, },
last(){ last(){
return this.index==0 return this.index==0
} }
},
mounted() {
// this.watchSize();
},
created(){
},
watch: {
'height':function(val){
this.height = val;
}
} }
} }
</script> </script>
<style lang="less" scoped>
.card {
&.cur {
box-shadow: 0px 9px 18px 0px rgba(0, 0, 0, 0.34);
}
.card-info{
height: 105px;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 5;
-webkit-box-orient: vertical;
}
}
</style>
<template>
<div class="function">
<!-- <input type="text" v-model="width">
<input type="text" v-model="height"> -->
<div class="cards">
<div class="operate" :class="{disabled:last}" v-if="list.length>=nub">
<Icon type="ios-arrow-back" size="60" @click="page(-1)"/>
</div>
<div class="card-body">
<div class="card-item" v-for="(li,i) in items" :key="i"
>
<div class="card" ref='test' @mouseover="hover(i)" :class="{ cur:kindex == i }">
<img :src="li.url" alt="">
<div class="card-title">
{{li.title}}
</div>
<div class="card-info" v-for="(item,index) in li.content" :key=index>{{item}}</div>
</div>
</div>
</div>
<div class="operate" :class="{disabled:next}" v-if="list.length>=nub">
<Icon type="ios-arrow-forward" size="60" @click="page(1)"/>
</div>
</div>
</div>
</template>
<script>
import elementResizeDetectorMaker from "element-resize-detector";
export default {
name: "ProductFuntions",
props: {
list: {
type: Array,
default: [],
}
},
data() {
return {
index: 0,
nub: 4,
width: 0,
height: 0,
kindex: null
// screenWidth: this.body.clientWidth,
};
},
methods: {
page(n) {
this.index += n;
if (this.index < 0) {
this.index = 0;
} else if (this.index > this.list.length - this.nub) {
this.index = this.list.length - this.nub;
}
},
hover(i) {
this.kindex = i;
},
watchSize() {
console.log("1111111");
const _this = this;
var erd = elementResizeDetectorMaker();
erd.listenTo(this.$refs.test, element => {
// 这里的this.$refs.fan指定要监听的元素对象,对应的是<div ref="fan"></div>
var width = element.offsetWidth;
var height = element.offsetHeight;
_this.$nextTick(() => {
// 这里填写监听改变后的操作
_this.width = width;
// _this.height=height
if (width <= 90) {
_this.nub = 3;
} else {
_this.nub = 4;
}
});
});
}
},
computed: {
items() {
return this.list.filter((u, i) => {
return i >= this.index && i < this.index + this.nub;
});
},
next() {
return this.list.length - this.index - this.nub == 0;
},
last() {
return this.index == 0;
}
},
mounted() {
this.watchSize();
},
created() {},
watch: {
height: function(val) {
this.height = val;
}
}
};
</script>
<style lang="less" scoped>
.card {
height: 405px !important;
}
.card {
&.cur {
box-shadow: 0px 9px 18px 0px rgba(8, 128, 226, 0.31);
}
}
</style>
<template>
<div class="function">
<!-- <input type="text" v-model="width">
<input type="text" v-model="height"> -->
<div class="cards">
<div class="operate" :class="{disabled:last}" v-if="list.length>=nub">
<Icon type="ios-arrow-back" size="60" @click="page(-1)"/>
</div>
<div class="card-body">
<div class="card-item" v-for="(li,i) in items" :key="i"
>
<div class="card" ref='test' @mouseover="hover(i)" :class="{ cur:kindex == i }">
<img :src="li.url" alt="">
<div class="card-title">
{{li.title}}
</div>
<div class="card-info" v-for="(item,index) in li.content" :key=index>{{item}}</div>
</div>
</div>
</div>
<div class="operate" :class="{disabled:next}" v-if="list.length>=nub">
<Icon type="ios-arrow-forward" size="60" @click="page(1)"/>
</div>
</div>
</div>
</template>
<script>
import elementResizeDetectorMaker from "element-resize-detector";
export default {
name: "ProductFuntions",
props: {
list: {
type: Array,
default: [],
}
},
data() {
return {
index: 0,
nub: 4,
width: 0,
height: 0,
kindex: null
// screenWidth: this.body.clientWidth,
};
},
methods: {
page(n) {
this.index += n;
if (this.index < 0) {
this.index = 0;
} else if (this.index > this.list.length - this.nub) {
this.index = this.list.length - this.nub;
}
},
hover(i) {
this.kindex = i;
},
watchSize() {
console.log("1111111");
const _this = this;
var erd = elementResizeDetectorMaker();
erd.listenTo(this.$refs.test, element => {
// 这里的this.$refs.fan指定要监听的元素对象,对应的是<div ref="fan"></div>
var width = element.offsetWidth;
var height = element.offsetHeight;
_this.$nextTick(() => {
// 这里填写监听改变后的操作
_this.width = width;
// _this.height=height
if (width <= 90) {
_this.nub = 3;
} else {
_this.nub = 4;
}
});
});
}
},
computed: {
items() {
return this.list.filter((u, i) => {
return i >= this.index && i < this.index + this.nub;
});
},
next() {
return this.list.length - this.index - this.nub == 0;
},
last() {
return this.index == 0;
}
},
mounted() {
this.watchSize();
},
created() {},
watch: {
height: function(val) {
this.height = val;
}
}
};
</script>
<style lang="less" scoped>
.card {
height: 305px !important;
}
.card {
&.cur {
box-shadow: 0px 9px 18px 0px rgba(8, 128, 226, 0.31);
}
}
</style>
...@@ -51,7 +51,7 @@ export default { ...@@ -51,7 +51,7 @@ export default {
window.addEventListener("scroll", (e) => { window.addEventListener("scroll", (e) => {
let y = window.scrollY; let y = window.scrollY;
this.steps.forEach((v, i) => { this.steps.forEach((v, i) => {
console.warn("scrooll", v, window.scrollY); // console.warn("scrooll", v, window.scrollY);
if (v - y < 160) { if (v - y < 160) {
this.index = i; this.index = i;
} }
...@@ -61,7 +61,7 @@ export default { ...@@ -61,7 +61,7 @@ export default {
if (document.readyState == "complete") { if (document.readyState == "complete") {
this.initStep(); this.initStep();
window.clearInterval(timer); window.clearInterval(timer);
console.warn(this.steps); // console.warn(this.steps);
} }
}, 1000); }, 1000);
}, },
...@@ -72,19 +72,19 @@ export default { ...@@ -72,19 +72,19 @@ export default {
this.index = 0; this.index = 0;
} else { } else {
let item = document.getElementById("h" + i); let item = document.getElementById("h" + i);
window.scrollTo(0, item.offsetTop - 120); // window.scrollTo(0, item.offsetTop - 120);
this.index = i; this.index = i;
console.warn(i, this.steps[i], item.offsetTop); // console.warn(i, this.steps[i], item.offsetTop);
} }
}, },
initStep() { initStep() {
let ul = []; let ul = [];
for (let index = 0; index < 6; index++) { for (let index = 0; index < 6; index++) {
let item = document.getElementById("h" + index); let item = document.getElementById("h" + index);
ul.push(item.offsetTop); // ul.push(item.offsetTop);
} }
this.steps = ul; this.steps = ul;
console.warn(this.steps); // console.warn(this.steps);
}, },
}, },
computed: {}, computed: {},
......
<template>
<div id="sy">
<Modal :value="$store.state.modalsy.show" width="650" title="请留下以下信息,以便于我们联系您" @on-visible-change="hide">
<div class="form">
<Form ref="form" :model="entity" :rules="rules" label-position="top">
<FormItem label="手机" prop="phone">
<Input v-model.trim="entity.phone" placeholder="请填写11位手机号"></Input>
</FormItem>
</Form>
</div>
<div class="ac" slot="footer">
<Button type="primary" @click="sendMessage">免费试用</Button>
</div>
</Modal>
</div>
</template>
<script>
export default {
data() {
return {
entity: {
phone: "",
name: "申请试用",
company: "申请试用",
industry: "申请试用",
email: "申请试用",
note: "申请试用",
type: "申请试用",
},
rules: {
phone: [
{ required: true, message: "请填写11位手机号", trigger: "blur" },
{
type: "string",
pattern: '',
message: "手机号格式错误",
trigger: "blur"
}
]
}
};
},
methods: {
sendMessage() {
this.$refs.form.validate(v => {
if (v) {
this.$api.post("/message/create", this.entity).then(r => {
if (r.success) {
console.log(r);
this.$Message.success("留言成功!");
this.hide(false);
}
});
} else {
this.$Message.error("请检查输入!");
}
});
},
hide(e) {
if (!e) {
this.$store.commit("closeModalsy");
}
},
}
};
</script>
<style scoped lang='less'>
::v-deep .ivu-modal-header{
border: none;
}
::v-deep .ivu-modal-footer{
border: none;
padding: 0px 18px 30px 18px;
}
</style>
...@@ -14,7 +14,7 @@ const Config = { ...@@ -14,7 +14,7 @@ const Config = {
* @description: 默认接口地址 * @description: 默认接口地址
*/ */
// apiBaseUrl: "http://localhost:6066", // apiBaseUrl: "http://localhost:6066",
apiBaseUrl: "http://47.92.102.113:6066", apiBaseUrl: "http://47.92.102.113:6006",
// apiBaseUrl: "http://154.8.185.122:8002", // apiBaseUrl: "http://154.8.185.122:8002",
timeout: 30000, // 请求超时时间 timeout: 30000, // 请求超时时间
} }
......
This diff is collapsed.
<template>
<div  class="compnay-info">
<div class="banner1">
<img src="/images/about.png" alt="关于我们" />
</div>
<div class="main pt50 job-items">
<div class="job-tabs">
<div class="tab" :class="{cur:type=='市场'}" @click="change('市场')">市场</div>
<div class="tab" :class="{cur:type=='开发'}" @click="change('开发')">开发</div>
<div class="tab" :class="{cur:type=='销售'}" @click="change('销售')">销售</div>
</div>
<div class="jobs">
<div class="job" v-for="(job, i) in jobs">
<div class="job-title">
{{ job.title }}
</div>
<div class="flex">
<label class="job-label"> 工作地点: </label>
<div class="fg" v-html="job.city"></div>
</div>
<div class="flex">
<label class="job-label"> 工作描述: </label>
<div class="fg" v-html="job.info"></div>
</div>
<div class="flex">
<label class="job-label"> 任职要求: </label>
<div class="fg" v-html="job.ask"></div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
head: {
title: "加入我们---北京见著科技有限公司--MES系统",
},
name: "",
data() {
return {
type:this.$route.params.type
};
},
computed:{
jobs(){
return this.$store.state.jobs.filter(u=>{
return u.type==this.type
})
}
},
methods:{
change(type){
this.type=type;
}
}
};
</script>
This diff is collapsed.
This diff is collapsed.
<template>
<div class="case1">
<div class="banner1">
<img src="/images/about.png" alt="关于我们" />
</div>
<div class="caseText">
<h4 class="titleLine">中国航天科技集团某研究所MES系统</h4>
<h5 class="s1">项目概述</h5>
<p class="tD">建立针对涡轮、冲压、固体及组合动力装置的生产管理体系,实现对生产计划和工时的信息化集成管理。</p>
<p class="tD"> 对所内生产配套产品,搭建集资源、工艺及工时等信息为一体的基础数据平台,形成从年度到月度计划、从班组到操作者计划的扁平化信息传递和动态执行更新,实现对计划与工时进行按项目、按人员的一
对一精准采集与统计。</p>
<p class="tD">建立起面向整体任务的预先评价、面向生产过程的执行管控,以及面向参与全员的绩效考评,探索计划工时信息化协同管理对提高生产绩效管理和加速生产效能提升的积极效果。 </p>
<h5 class="s1">项目实施</h5>
<p>(1)集成ERP和PLM系统,共享订单、设备、人员、工艺、生产BOM与NC程序数据。</p>
<p> (2)搭建基础数据管理平台,实现工艺、资源、人员等信息关联。</p>
<p> (3)建立多级计划管理体系,实现计划精准传递和实时监控统计。</p>
<p> (4)通过计划工时协同管理,实现精准动态统计和多维考核评价。</p>
<p> (5)深度融合管理开发团队,实现系统开发测试和优化高效并行。</p>
<h5 class="s1">项目效果</h5>
<p class="s2">改变了生产管理模式,提升了生产管理效能</p>
<p class="tD">将所内传统的逐级向下的传递式计划管理与逐级向上的报送式工时管理模式转变为对计划与工时的一体化协同管理模式。</p>
<p class="s2">促进了人才队伍的发展,培养了一支熟悉信息化和智能化管理的队伍</p>
<p class="tD">项目的开发实施涉及到所外开发公司和所内型号、生产、质量、物资、检测、信息化、试验、各工艺和车间等十几个部门的各类生产过程参与人员,频繁的业务沟通讨论和流程设计协调,锻炼了一支熟悉网
络化、信息化、智能化的管理队伍。</p>
<p class="s2">降低了人力成本和时间成本,提高了发展活力</p>
<p class="tD">将各单位生产管理相关人员需求减少约15人,节省了各级调度人员在计划沟通反馈和工时统计填报上的时间投入,降低了人力成本,提高了人员工作积极性。</p>
<div class="foot">
<p class="bp">
上一篇:已经是最新的一篇了
<!-- <span>1</span> -->
</p>
<router-link :to="'/case/case2'">
<p>下一篇:中国航天科技集团某研究所</p>
</router-link>
</div>
<div class="pt50"></div>
</div>
</div>
</template>
<script>
export default {
head: {
title: "案例---北京见著科技有限公司--MES系统",
},
name: "",
data() {
return {};
}
};
</script>
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
export default ({app: {router}, store}) => {
/* 每次路由变更时进行pv统计 */
router.afterEach((to, from) => {
/* 告诉增加一个PV */
try {
window._hmt = window._hmt || []
window._hmt.push(['_trackPageview', to.fullPath])
} catch (e) {
}
})
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment