xuwenbo
4 years ago
4 changed files with 213 additions and 111 deletions
@ -0,0 +1,102 @@ |
|||||||
|
<template> |
||||||
|
<view ref="container"> |
||||||
|
<view class="collectionGoods" v-if="collectProductList.length > 0"> |
||||||
|
<view |
||||||
|
class="item acea-row row-between-wrapper" |
||||||
|
v-for="(item, collectProductListIndex) in collectProductList" |
||||||
|
:key="collectProductListIndex" |
||||||
|
@click="goGoodsCon(item)" |
||||||
|
> |
||||||
|
<view class="pictrue"> |
||||||
|
<image :src="item.image" /> |
||||||
|
</view> |
||||||
|
<view class="text acea-row row-column-between"> |
||||||
|
<view class="infor line1">{{ item.storeName }}</view> |
||||||
|
<view class="acea-row row-between-wrapper"> |
||||||
|
<view class="money font-color-red">¥{{ item.price }}</view> |
||||||
|
<view class="delete" @tap.stop="delCollection(collectProductListIndex)">删除</view> |
||||||
|
</view> |
||||||
|
</view> |
||||||
|
</view> |
||||||
|
</view> |
||||||
|
<Loading :loaded="loadend" :loading="loading"></Loading> |
||||||
|
<view |
||||||
|
class="noCommodity" |
||||||
|
style="background-color:#fff;" |
||||||
|
v-if="collectProductList.length < 1 && page > 1" |
||||||
|
> |
||||||
|
<view class="noPictrue"> |
||||||
|
<image src="@/static/images/noCollection.png" class="image" /> |
||||||
|
</view> |
||||||
|
<Recommend></Recommend> |
||||||
|
</view> |
||||||
|
</view> |
||||||
|
</template> |
||||||
|
<script> |
||||||
|
import Recommend from "@/components/Recommend"; |
||||||
|
import { getCollectUser, getCollectDel } from "@/api/user"; |
||||||
|
import Loading from "@/components/Loading"; |
||||||
|
export default { |
||||||
|
name: "GoodsCollection", |
||||||
|
components: { |
||||||
|
Recommend, |
||||||
|
Loading |
||||||
|
}, |
||||||
|
props: {}, |
||||||
|
data: function() { |
||||||
|
return { |
||||||
|
page: 1, |
||||||
|
limit: 20, |
||||||
|
type:'foot', |
||||||
|
collectProductList: [], |
||||||
|
loadTitle: "", |
||||||
|
loading: false, |
||||||
|
loadend: false |
||||||
|
}; |
||||||
|
}, |
||||||
|
mounted: function() { |
||||||
|
this.get_user_collect_product(); |
||||||
|
}, |
||||||
|
onReachBottom() { |
||||||
|
!this.loading && this.get_user_collect_product(); |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
goGoodsCon(item) { |
||||||
|
this.$yrouter.push({ |
||||||
|
path: "/pages/shop/GoodsCon/index", |
||||||
|
query: { id: item.pid } |
||||||
|
}); |
||||||
|
}, |
||||||
|
get_user_collect_product: function() { |
||||||
|
let that = this; |
||||||
|
if (that.loading) return; //阻止下次请求(false可以进行请求); |
||||||
|
if (that.loadend) return; //阻止结束当前请求(false可以进行请求); |
||||||
|
that.loading = true; |
||||||
|
getCollectUser(that.page, that.limit,that.type).then(res => { |
||||||
|
that.loading = false; |
||||||
|
//apply();js将一个数组插入另一个数组; |
||||||
|
that.collectProductList.push.apply(that.collectProductList, res.data); |
||||||
|
that.loadend = res.data.length < that.limit; //判断所有数据是否加载完成; |
||||||
|
that.page = that.page + 1; |
||||||
|
}); |
||||||
|
}, |
||||||
|
//删除收藏; |
||||||
|
delCollection: function(index) { |
||||||
|
let that = this, |
||||||
|
id = that.collectProductList[index].pid, |
||||||
|
category = that.collectProductList[index].category; |
||||||
|
getCollectDel(id, category).then(function() { |
||||||
|
uni.showToast({ |
||||||
|
title: "删除成功", |
||||||
|
icon: "success", |
||||||
|
duration: 2000, |
||||||
|
complete: () => { |
||||||
|
that.collectProductList.splice(index, 1); |
||||||
|
that.$set(that, "collectProductList", that.collectProductList); |
||||||
|
} |
||||||
|
}); |
||||||
|
}); |
||||||
|
} |
||||||
|
} |
||||||
|
}; |
||||||
|
</script> |
Before Width: | Height: | Size: 31 KiB |
Loading…
Reference in new issue