mkl_power_box/components/amplify/jishuguanli/amplify-jsfh.js

135 lines
5.3 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

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

var vms = Vue.component("amplify-jsfh", {
template: `
<div>
<div class="amplify-title-icon">
<img src="https://fileimg.makalu.cc/WEB_DBD5893450984E50AFF356EF44FF4139.png" @click="openAmplify">
</div>
<transition name="el-zoom-in-top">
<div class="amplify-fixed" v-show="show" style="display: none" @click="closeAmplifyAll">
<div class="amplify-max">
<div class="amplify-title">
<div>技术复核</div>
<div class="amplify-close" @click="closeAmplify"><i class="el-icon-close"></i></div>
</div>
<div class="amplify-content">
<!--内容区域-->
<div style="padding-top: 35px;">
<div class="amplify-rank-chart">
<!--<div class="rank-chart-title" v-cloak>****技术总结({{srcList.length}}</div>-->
</div>
<!-- 图片展示-->
<div @mouseout="costMouseout" @mouseover="costMouseover">
<slot></slot>
<div class="amplify-bzh-flex">
<div class="amplify-bzh-btn">
<img src="/images/carousel_left.png" @click="carouselLeft">
</div>
<div class="amplify-bzh-content" ref="rollImgMax" :style="{'width': number*400+'px'}">
<div class="amplify-bzh-content-img" v-for="item in list">
<el-image style="width: 360px; height: 360px"
:src="item" fit="cover" :preview-src-list="list"></el-image>
</div>
</div>
<div class="amplify-bzh-btn">
<img src="/images/carousel_right.png" @click="carouselRight">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</transition>
</div>
`,
props: {
},
data() {
return {
show:false,
costIndex:0,
imgRollInterval:undefined,
direction:'left',
list:[],
number:2,
projectId:JSON.parse(window.localStorage.getItem("data")).id,
}
},
mounted(){
// 图片轮播 定时器
this.imgRollInterval = setInterval(this.imgRoll,5000);
},
methods: {
openAmplify(){
this.show = true
this.getTypeSonListB()
},
closeAmplify(){
this.show = false
},
closeAmplifyAll(e){
if(e.target.className == 'amplify-fixed'){
this.show = false
}
},
getTypeSonListB() {
this.list = []
axios.post("/system/photoTechnicalReview/getPhotoTechnicalReview",{projectId:this.projectId}).then(res => {
var list = []
res.data.rows.forEach((item)=>{
list.push(item.photoUrl)
})
this.list = list
})
},
carouselLeft(){
this.direction = 'left'
this.manufacturingCostRoll()
},
carouselRight(){
this.direction = 'right'
this.manufacturingCostRoll()
},
manufacturingCostRoll(){
var width = $(".bzh-content-img").innerWidth()
if(this.direction == 'right'){
if(this.costIndex == this.list.length - this.number){
this.costIndex = 0
}else{
this.costIndex = this.costIndex + 1
}
}else{
if(this.costIndex == 0){
this.costIndex = this.list.length - this.number
}else{
this.costIndex = this.costIndex - 1
}
}
console.log(this.costIndex)
$(this.$refs.rollImgMax).animate({scrollLeft:(this.number*width*this.costIndex)+'px'})
this.direction = 'right'
},
imgRoll(){
var width = $(".bzh-content-img").innerWidth()
if(this.costIndex == this.list.length - this.number){
this.costIndex = 0
}else{
this.costIndex = this.costIndex + 1
}
$(this.$refs.rollImgMax).animate({scrollLeft:(this.number*width*this.costIndex)+'px'})
},
costMouseover(){
clearInterval(this.imgRollInterval);
},
costMouseout(){
this.imgRollInterval=setInterval(this.imgRoll,5000);
},
},
watch:{
},
})