|
|
- <template>
- <scroll-view
- scroll-y="true"
- :style="{height: height}"
- @scrolltolower="loadMoreData">
- <view class="videoList">
- <view class="video-item"
- v-for="(item, index) in spotListWord"
- v-if="index < queryParams.pageSize"
- :key="index"
- >
- <view class="image" @click="showVideo(item, index)">
- <image :src="item.spotImage && item.spotImage.split(',')[0]" mode="aspectFill">
- </image>
- </view>
- <view class="bottom">
- <view class="headImage">
- {{ item.spotName }}
- </view>
- </view>
- </view>
- </view>
-
- <view class="loadMoreData"
- v-if="queryParams.pageSize <= spotListWord.length"
- @click="loadMoreData">
- 了解更多
- </view>
- </scroll-view>
- </template>
-
- <script>
- import { mapState } from 'vuex'
- export default {
- props : {
- height : {
- default : 'auto'
- },
- roleId : {
- }
- },
- data() {
- return {
- queryParams: {
- pageNo: 1,
- pageSize: 4,
- },
- total : 0,
- list : [],
- }
- },
- computed : {
- ...mapState(['spotList']),
- spotListWord(){
- return this.spotList.filter(n => n.categoryId == 0)
- },
- },
- methods: {
- showVideo(item, current){
- // this.$utils.hanldePreview
-
- // uni.previewMedia({
- // current : item.videoContent
- // })
-
- this.$utils.navigateTo(`/pages_order/service/articleDetail?id=${item.id}&type=Inheritance`)
-
- return
-
- let sources = []
-
- this.list.forEach(n => {
- sources.push({
- url : n.travelVideo.videoContent,
- type : 'video'
- })
- })
-
- wx.previewMedia({
- sources, // 需要预览的资源列表
- current, // 当前显示的资源序号
- // url: url // 当前预览资源的url链接
- })
- },
- queryVideoList(){
-
- if(this.roleId){
- this.queryParams.roleInfoId = this.roleId
- }
-
- if(uni.getStorageSync('token')){
- this.queryParams.token = uni.getStorageSync('token')
- }
-
- // this.$api('queryVedioById', this.queryParams, res => {
- // if(res.code == 200){
- // this.list = res.result
- // // this.total = res.result.total
- // }
- // })
- },
- loadMoreData(){
- if(this.queryParams.pageSize <= this.spotListWord.length){
- this.queryParams.pageSize += 10
- this.queryVideoList()
- }
- },
- addThumpup(videoId){
- this.$api('addThumpup', {
- videoId
- }, res => {
- if(res.code == 200){
- this.queryVideoList()
- uni.showToast({
- title: res.message,
- icon: 'none'
- })
- }
- })
- },
- }
- }
- </script>
-
- <style scoped lang="scss">
- .videoList {
- display: flex;
- flex-wrap: wrap;
- margin-right: 20rpx;
- .video-item {
- position: relative;
- width: calc(50% - 20rpx);
- margin-left: 20rpx;
- margin-top: 10rpx;
- .image {
- position: relative;
- width: 100%;
- overflow: hidden;
-
- image {
- width: 100%;
- height: 210rpx;
- border-radius: 30rpx;
- }
-
- .icon {
- position: absolute;
- right: 30rpx;
- top: 30rpx;
- width: 60rpx;
- height: 60rpx;
- background-color: #ffffffaa;
- border-radius: 50%;
- display: flex;
- justify-content: center;
- align-items: center;
- }
- }
-
- .bottom {
- font-size: 28rpx;
- display: flex;
- justify-content: space-between;
- width: calc(100% - 40rpx);
- padding: 15rpx;
- font-weight: 900;
- align-items: center;
-
- .headImage {
- display: flex;
- align-items: center;
-
- image {
- width: 50rpx;
- height: 50rpx;
- border-radius: 50%;
- margin-right: 6rpx;
- }
- }
-
- .like {
- display: flex;
- align-items: center;
- justify-content: center;
- font-weight: 500;
- font-size: 22rpx;
- }
- }
- }
- .showVideo{
- display: flex;
- justify-content: center;
- align-items: center;
- height: 100%;
- width: 1000%;
- video{
- // width: 100%;
- // height: 100%;
- }
- }
- }
- .loadMoreData{
- color: $uni-color;
- text-align: center;
- padding: 10rpx 0 40rpx 0;
- }
- </style>
|