|
|
|
|
|
|
|
|
<template> |
|
|
<template> |
|
|
<div class="list"> |
|
|
<div class="list"> |
|
|
<img class="showBg" :src="getImg('bg.jpg')" /> |
|
|
<img class="showBg" :src="getImg('bg.jpg')" /> |
|
|
<img class="btnBack" :src="getImg('back.png')" @click="toBackHome"/> |
|
|
|
|
|
|
|
|
<img class="btnBack" :src="getImg('back.png')" @click="toBackHome" /> |
|
|
<div class="middleContainer"> |
|
|
<div class="middleContainer"> |
|
|
<p class="title"v-text="titleList[step-1]"></p> |
|
|
|
|
|
|
|
|
<p class="title" v-text="titleList[step-1]"></p> |
|
|
<div class="btnContainer"> |
|
|
<div class="btnContainer"> |
|
|
<div class="BtnBox"> |
|
|
<div class="BtnBox"> |
|
|
<table></table> |
|
|
<table></table> |
|
|
<template v-if="step==1"> |
|
|
|
|
|
<div class="item item1" v-for="(item,index) in list1" v-text="item" @click="select(index)"></div> |
|
|
|
|
|
|
|
|
<template v-if="step==1"> |
|
|
|
|
|
<div class="item item1" :class="[mcEnd?'':'enterMc'+index]" :key='item' v-for="(item,index) in list1" v-text="item" @click="select(index)" @touchstart="touchStart(index)"></div> |
|
|
</template> |
|
|
</template> |
|
|
<template v-if="step==2"> |
|
|
<template v-if="step==2"> |
|
|
<div class="item item1" v-for="(item,index) in list2" v-text="item" @click="select(index)"></div> |
|
|
|
|
|
|
|
|
<div class="item item1" :class="[mcEnd?'':'enterMc'+index]" :key='item' v-for="(item,index) in list2" v-text="item" @click="select(index)" @touchstart="touchStart(index)"></div> |
|
|
</template> |
|
|
</template> |
|
|
<template v-if="step==3"> |
|
|
<template v-if="step==3"> |
|
|
<div class="item item2" v-for="(item,index) in list3[selectList[0]]" v-text="item" @click="select(index)"></div> |
|
|
|
|
|
|
|
|
<div class="item item2" :class="[mcEnd?'':'enterMc'+index]" :key='item' v-for="(item,index) in list3[selectList[0]]" v-text="item" @click="select(index)" @touchstart="touchStart(index)"></div> |
|
|
</template> |
|
|
</template> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
</div> |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|
<script> |
|
|
<script> |
|
|
import { |
|
|
import { |
|
|
mapState |
|
|
mapState |
|
|
} from 'vuex' |
|
|
} from 'vuex' |
|
|
export default{ |
|
|
|
|
|
name:'List', |
|
|
|
|
|
|
|
|
export default { |
|
|
|
|
|
name: 'List', |
|
|
computed: mapState(['pagePath']), |
|
|
computed: mapState(['pagePath']), |
|
|
data(){ |
|
|
|
|
|
return{ |
|
|
|
|
|
step:1, |
|
|
|
|
|
selectList:[0,0,''], |
|
|
|
|
|
titleList:['请选择品类','请选择店铺类型','请选择场景'], |
|
|
|
|
|
list1:['手机门店','家电门店','二轮车门店'], |
|
|
|
|
|
list2:['标准门店','高产门店'], |
|
|
|
|
|
list3:[['店外','店内','柜台','收银台','合规物料','浏览全部物料'],['店外','展示区','收银台','合规物料','浏览全部物料'],['店外','展示区','收银台','合规物料','浏览全部物料']] |
|
|
|
|
|
|
|
|
data() { |
|
|
|
|
|
return { |
|
|
|
|
|
step: 1, |
|
|
|
|
|
selectList: [0, 0, ''], |
|
|
|
|
|
mcEnd:true, |
|
|
|
|
|
titleList: ['请选择品类', '请选择店铺类型', '请选择场景'], |
|
|
|
|
|
list1: ['手机门店', '家电门店', '二轮车门店'], |
|
|
|
|
|
list2: ['标准门店', '高产门店'], |
|
|
|
|
|
list3: [ |
|
|
|
|
|
['店外', '店内', '柜台', '收银台', '合规物料', '浏览全部物料'], |
|
|
|
|
|
['店外', '展示区', '收银台', '合规物料', '浏览全部物料'], |
|
|
|
|
|
['店外', '展示区', '收银台', '合规物料', '浏览全部物料'] |
|
|
|
|
|
] |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
methods:{ |
|
|
|
|
|
|
|
|
methods: { |
|
|
getImg(img) { |
|
|
getImg(img) { |
|
|
if (this.imgBaseUrl) { |
|
|
if (this.imgBaseUrl) { |
|
|
return this.imgBaseUrl+'list/' + img; |
|
|
|
|
|
|
|
|
return this.imgBaseUrl + 'list/' + img; |
|
|
} else { |
|
|
} else { |
|
|
return require('../assets/'+'list/' + img); |
|
|
|
|
|
|
|
|
return require('../assets/' + 'list/' + img); |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
toBackHome(){ |
|
|
|
|
|
if(this.step==1){ |
|
|
|
|
|
|
|
|
toBackHome() { |
|
|
|
|
|
if (this.step == 1) { |
|
|
this.$router.replace('/') |
|
|
this.$router.replace('/') |
|
|
}else{ |
|
|
|
|
|
|
|
|
} else { |
|
|
this.step--; |
|
|
this.step--; |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
select(index){ |
|
|
|
|
|
if(this.step<3){ |
|
|
|
|
|
this.selectList[this.step-1]=index; |
|
|
|
|
|
|
|
|
touchStart(){ |
|
|
|
|
|
this.mcEnd=true; |
|
|
|
|
|
}, |
|
|
|
|
|
select(index) { |
|
|
|
|
|
this.mcEnd=false; |
|
|
|
|
|
if (this.step < 3) { |
|
|
|
|
|
this.selectList[this.step - 1] = index; |
|
|
this.step++; |
|
|
this.step++; |
|
|
}else{ |
|
|
|
|
|
this.selectList[this.step-1]=this.list3[this.selectList[0]][index] |
|
|
|
|
|
var path=this.pagePath[this.selectList[0]][this.selectList[1]][this.selectList[2]]; |
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
this.selectList[this.step - 1] = this.list3[this.selectList[0]][index] |
|
|
|
|
|
var path = this.pagePath[this.selectList[0]][this.selectList[1]][this.selectList[2]]; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
</script> |
|
|
</script> |
|
|
|
|
|
|
|
|
<style lang="scss" scoped="scoped"> |
|
|
<style lang="scss" scoped="scoped"> |
|
|
@import url("../style/animate.css"); |
|
|
|
|
|
.list{ |
|
|
|
|
|
|
|
|
@import url("../style/animation.css"); |
|
|
|
|
|
|
|
|
|
|
|
.list { |
|
|
height: 100%; |
|
|
height: 100%; |
|
|
background-color: #61686d; |
|
|
|
|
|
.btnBack{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.btnBack { |
|
|
position: absolute; |
|
|
position: absolute; |
|
|
width: calc(24/750*100vw); |
|
|
width: calc(24/750*100vw); |
|
|
top: calc(30/750*100vw); |
|
|
top: calc(30/750*100vw); |
|
|
left: calc(46/750*100vw); |
|
|
left: calc(46/750*100vw); |
|
|
} |
|
|
} |
|
|
.middleContainer{ |
|
|
|
|
|
.title{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.middleContainer { |
|
|
|
|
|
.title { |
|
|
color: #FFFFFF; |
|
|
color: #FFFFFF; |
|
|
font-size: 9.4vw; |
|
|
font-size: 9.4vw; |
|
|
margin: 21.5vw auto 0 auto; |
|
|
margin: 21.5vw auto 0 auto; |
|
|
} |
|
|
} |
|
|
.btnContainer{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.btnContainer { |
|
|
position: relative; |
|
|
position: relative; |
|
|
width: calc(446/750*100vw); |
|
|
width: calc(446/750*100vw); |
|
|
margin: 15.8vw auto 0 auto; |
|
|
margin: 15.8vw auto 0 auto; |
|
|
.BtnBox{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.BtnBox { |
|
|
position: relative; |
|
|
position: relative; |
|
|
width: 100%; |
|
|
width: 100%; |
|
|
|
|
|
|
|
|
// overflow: hidden; |
|
|
// overflow: hidden; |
|
|
.item{ |
|
|
|
|
|
|
|
|
.item { |
|
|
position: relative; |
|
|
position: relative; |
|
|
width: 100%; |
|
|
width: 100%; |
|
|
height: calc(91/750*100vw); |
|
|
height: calc(91/750*100vw); |
|
|
|
|
|
|
|
|
color: #ffffff; |
|
|
color: #ffffff; |
|
|
font-size: 5.5vw; |
|
|
font-size: 5.5vw; |
|
|
transform: scale(1); |
|
|
transform: scale(1); |
|
|
|
|
|
cursor: pointer; |
|
|
} |
|
|
} |
|
|
.item:active{ |
|
|
|
|
|
transform: scale(0.9); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.item:active { |
|
|
|
|
|
transform:scale(0.9); |
|
|
} |
|
|
} |
|
|
.item1{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.item1 { |
|
|
margin-top: calc(93/750*100vw); |
|
|
margin-top: calc(93/750*100vw); |
|
|
} |
|
|
} |
|
|
.item2{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.item2 { |
|
|
margin-bottom: calc(42/750*100vw); |
|
|
margin-bottom: calc(42/750*100vw); |
|
|
} |
|
|
} |
|
|
|
|
|
.enterMc0{ |
|
|
|
|
|
animation: enterMc .5s both; |
|
|
|
|
|
-webkit-animation: enterMc .5s both; |
|
|
|
|
|
} |
|
|
|
|
|
.enterMc1{ |
|
|
|
|
|
animation: enterMc .5s .3s both; |
|
|
|
|
|
-webkit-animation: enterMc .5s .3s both; |
|
|
|
|
|
} |
|
|
|
|
|
.enterMc2{ |
|
|
|
|
|
animation: enterMc .5s .6s both; |
|
|
|
|
|
-webkit-animation: enterMc .5s .6s both; |
|
|
|
|
|
} |
|
|
|
|
|
.enterMc3{ |
|
|
|
|
|
animation: enterMc .5s .9s both; |
|
|
|
|
|
-webkit-animation: enterMc .5s .9s both; |
|
|
|
|
|
} |
|
|
|
|
|
.enterMc4{ |
|
|
|
|
|
animation: enterMc .5s 1.2s both; |
|
|
|
|
|
-webkit-animation: enterMc .5s 1.2s both; |
|
|
|
|
|
} |
|
|
|
|
|
.enterMc5{ |
|
|
|
|
|
animation: enterMc .5s 1.5s both; |
|
|
|
|
|
-webkit-animation: enterMc .5s 1.5s both; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |