135 lines
5.3 KiB
JavaScript
135 lines
5.3 KiB
JavaScript
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:{
|
||
|
||
},
|
||
})
|
||
|
||
|