Commit eae4eced by 陈玉桐

add 瀑布流

parent a9b8c496
...@@ -11,9 +11,11 @@ ...@@ -11,9 +11,11 @@
"axios": "^0.19.0", "axios": "^0.19.0",
"core-js": "^3.3.2", "core-js": "^3.3.2",
"html2canvas": "^1.0.0-rc.5", "html2canvas": "^1.0.0-rc.5",
"node-sass": "^4.13.0",
"qs": "^6.9.0", "qs": "^6.9.0",
"vue": "^2.6.10", "vue": "^2.6.10",
"vue-router": "^3.1.3", "vue-router": "^3.1.3",
"vue-waterfall2": "^1.9.4",
"vuex": "^3.0.1" "vuex": "^3.0.1"
}, },
"devDependencies": { "devDependencies": {
......
...@@ -3,7 +3,9 @@ import App from './App.vue' ...@@ -3,7 +3,9 @@ import App from './App.vue'
import router from './router' import router from './router'
import store from './store' import store from './store'
import './styles/index.scss'; // global css import './styles/index.scss'; // global css
import request from './utils/request'
import waterfall from 'vue-waterfall2'
Vue.use(waterfall)
import setWechatTitle from './utils/setWechatTitle' import setWechatTitle from './utils/setWechatTitle'
......
<template> <template>
<div id="posterHistory"> <div class="container-water-fall">
<ul id="posterHistoryList" v-if="list.length>0"> <waterfall v-if="list.length>0" :col='2' :isTransition="false" :data="list" @loadmore="loadmore">
<li v-for="(item,index) in list" :class="index.toString().substr(index.toString().length-1,1)==0 || index.toString().substr(index.toString().length-1,1)==1 || index.toString().substr(index.toString().length-1,1)==5 || index.toString().substr(index.toString().length-1,1)==6 ?'single':'double'" :key="index"> <img v-for="item in list" :src="item.imgUrl">
<img :src="item.imgUrl"> </waterfall>
</li> <p class="noDataText" v-else>暂无数据</p>
</ul> <loading :loadingShow="loadingShow"></loading>
<p class="noDataText" v-else>暂无数据</p> </div>
<infinite-scroll :scroller="scroller" :loading="loading" :isLoaded="isLoaded" :loadingText="loadingText" @load="loadMore"/>
<loading :loadingShow="loadingShow"></loading>
</div>
</template> </template>
<script> <script>
import request from '../utils/request' import request from '../utils/request'
import loading from '../components/loading/loading.vue' import loading from '../components/loading/loading.vue'
import infiniteScroll from '../components/infiniteScroll/infiniteScroll.vue'
export default { export default {
data() { data() {
return{ return{
loadingShow: false,//加载 loadingShow: false,//加载
pageNum: 1, pageNum: 1,
list: [], list: [],
loading: false,
scroller: null,
isLoaded: false,
loadingText: '正在加载中...'
} }
}, },
components: { components: {
loading,infiniteScroll loading,
}, },
mounted() { mounted() {
this.scroller = this.$el
this.loadingShow = true this.loadingShow = true
request({ request({
url: '/api/MarketingToolApi/Posters/userPosters', url: '/api/MarketingToolApi/Posters/userPosters',
...@@ -46,66 +36,35 @@ export default { ...@@ -46,66 +36,35 @@ export default {
this.list = response.data.list this.list = response.data.list
}) })
}, },
computed:{
},
methods: { methods: {
loadMore () { loadmore(){
let me = this; this.pageNum+=1
me.loading = true;
me.loadingText = '正在加载中...'
me.pageNum += 1;
request({ request({
url: '/api/MarketingToolApi/Posters/userPosters', url: '/api/MarketingToolApi/Posters/userPosters',
method: 'post', method: 'post',
data: { data: {
token: localStorage.getItem("token"), token: localStorage.getItem("token"),
page: me.pageNum, page: this.pageNum,
limit: 20 limit: 20
} }
}).then(response => { }).then(response => {
console.log(me.pageNum) this.list = this.list.concat(response.data.list)
if (response.data.list == ''){
me.loadingText = '没有更多数据了'
setTimeout(function () {
me.isLoaded = true
me.loading = false
},1000)
setTimeout(function () {
me.isLoaded = false
},1500)
} else {
this.list.push(response.data.list)
me.loading = false
}
}) })
} },
} }
} }
</script> </script>
<style lang="scss"> <style lang="scss">
#posterHistory{ .container-water-fall{
// width: 100%; width: 100vw;
// height: 100%; box-sizing: border-box;
overflow: auto; padding: 5px 0 0 5px;
-webkit-overflow-scrolling: touch; img{
} width: 100%;
#posterHistoryList{ height: 250px;
display: flex; padding-right: 5px;
flex-wrap: wrap;
padding: 8px;
li{
flex: 1;
padding: 2px;
img{
width: 100%;
height: 100%;
}
}
.single{
min-width: 50%;
height: 217px;
}
.double{
min-width: 33.33%;
height: 142px;
} }
} }
</style> </style>
\ No newline at end of file
...@@ -290,6 +290,7 @@ export default { ...@@ -290,6 +290,7 @@ export default {
backgroundColor:null, backgroundColor:null,
}).then(canvas => { }).then(canvas => {
this.posterUrl = canvas.toDataURL('image/png') this.posterUrl = canvas.toDataURL('image/png')
document.body.scrollTop == 0
this.showPoster = true this.showPoster = true
this.createDialogShow = true this.createDialogShow = true
}) })
......
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