You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

291 lines
7.0 KiB

<template>
<view class="wishlist_body">
<view class="status_bar">
<uni-nav-bar left-icon="left" :rightText="isDelete?'Done':'Delete'" title="Footprint" :fixed="true" :border="false"
color="#fff" backgroundColor="#000" @clickLeft="back" @clickRight="$refs.alertDialog.open()"/>
</view>
<view class="wishlist">
<view class="wishlist_item" v-for="(item,index) in goodsList" :key="index" >
<view class="wishlist_item_img">
<image :src="item.goods_img" mode="" class="wishlist_item_img_goods" @click="isDelete?deleteTap(item.id,index): goDetails(item)"></image>
<!-- <image src="../../static/img/select.png" mode="" class="select" v-show="isDelete&& item.id!=deletelist[index].id" ></image>
<image src="../../static/img/select1.png" mode="" class="select" v-show="isDelete&& item.id==deletelist[index].id||All" ></image> -->
</view>
<view class="wishlist_item_bottom">
<text>US${{item.promote_price?item.promote_price:item.shop_price}}</text>
<image src="/static/img//like_white.png" mode="" v-show="item.is_attention==0" class="wishlist_item_bottom_icon" @click.stop="addLike(item.id)"></image>
<image src="../../static/icon/like_red.png" mode="" v-show="item.is_attention==1" class="wishlist_item_bottom_icon" @click.stop="removeLike(item.id)"></image>
</view>
</view>
</view>
<view class="empty_item" v-if="!goodsList">
<view class="empty_item_img">
<image src = "../../static/img/foot_white.png" mode=""></image>
</view>
<view>No browsing record!</view>
<view><button @click="gotoindex()">Go to see</button></view>
</view>
<!-- <view class="wishlist_foot" v-show="isDelete">
<view class="wishlist_foot_left">
<image src="../../static/img/select2.png" mode="" v-if="!All" @click="All=true"></image>
<image src="../../static/img/select1.png" mode="" v-else @click="All=false"></image>
<text>All</text>
</view>
<view class="wishlist_foot_right">
<button :class="(isdelete||All)?'wishlist_foot_right_button':''" @click="$refs.alertDialog.open()">DELETE</button>
</view>
</view> -->
<uni-popup ref="alertDialog" type="dialog" v-if="goodsList">
<uni-popup-dialog type="error" cancelText="Close" confirmText="Clear" title="Tips" content="Whether to clear browsing history?"
@confirm="clearFavorites" ></uni-popup-dialog>
</uni-popup>
<view class="bootom_last" v-if="bootom == 1">-THE END-</view>
</view>
</template>
<script>
import {defaultRequest2} from '../../api/index.js'
export default {
data() {
return {
isDelete:false,
goodsList:[],
isdelete:0,
All:false,
deletelist:[],
bootom:0,
}
},
methods:{
onReachBottom(e){
console.log('end')
this.bootom = 1
},
goDetails(id){
uni.navigateTo({
url:"../productDetails/index?goodid="+id.id
})
},
gotoindex(){
uni.switchTab({
url:'../index/index'
})
},
// 清空浏览记录
clearFavorites(){
let data={_action:'cleargoodsbrowsehistory'}
defaultRequest2(data).then(res=>{
console.info(res)
if(res.error==0){
uni.showToast({
title:'ok',
icon:'none'
})
this.getList()
}
})
},
// 添加收藏
addLike(id){
let data={_action:'setfaviouritegoods',goods_id:id}
defaultRequest2(data).then(res=>{
console.info(res)
if(res.error==0){
uni.showToast({
title:res.message,
icon:'none'
})
this.changeImage(id,0)
}
})
},
// 取消收藏
removeLike(id){
let data={_action:'unsetfaviouritegoods',goods_id:id}
defaultRequest2(data).then(res=>{
console.info(res)
if(res.error==0){
uni.showToast({
title:res.message,
icon:'none'
})
this.changeImage(id,1)
}
})
},
// 切换图片
changeImage(id,type){
this.goodsList.map(item=>{
if(item.id==id){
if(type==0){
item.is_attention=1
}else{
item.is_attention=0
}
}
})
},
deleteTap(id,index){
console.log(id)
this.isdelete = id
let i = index
let list = ({
id:this.goodsList[i].id,
index:i
})
console.log(list.id)
let tag = 1
const _list = JSON.stringify(list)
const _delete = JSON.stringify(this.deletelist)
console.log( _list, _delete)
console.log(_delete.includes(_list))
for(let i =0;i<this.deletelist.length;i++){
if(this.deletelist[i].id == list.id){
this.deletelist[i].id =''
this.deletelist[i].index =''
tag = 0
}
}
if(tag!=0){
// this.deletelist.push(list)
this.deletelist[index].id = list.id
this.deletelist[index].index = list.index
console.log(this.deletelist)
uni.setStorage({
key: 'deletelist',
data: JSON.stringify(this.deletelist)
});
}
let list2 =[]
this.deletelist.map( item =>{
if(item.id!=''){
console.log(111)
list2.push(item)
}
})
console.log(list2)
if(list2.length>0&&list2.length !== this.goodsList.length){
// this.Select_one = 1
this.isdelete = 1
this.isAll = false
}
else if(list2.length == this.goodsList.length){
this.isAll = true
}else if(list2.length == 0){
this.isAll = false
// this.Select_one = 0
this.isdelete = ''
this.deletelist[index].id = ''
list2 =[]
}
},
back(){
uni.navigateBack()
},
getList(){
let data={_action:'getgoodsbrowsehistory'}
defaultRequest2(data).then(res=>{
console.info(res)
if(res.error==0){
this.goodsList=res.data
this.goodsList.map( item =>{
this.deletelist.push({
index:'',
id:''
})
})
}
})
}
},
onLoad() {
this.getList()
}
}
</script>
<style>
page{
height: 100vh;
background-color: #000;
}
</style>
<style lang="scss" scoped>
.bootom_last{
height: 200rpx;
width: 100%;
color: #fff;
background-color: #000;
font-size: 25rpx;
padding-bottom:40rpx;
line-height: 200rpx;
text-align: center;
}
.status_bar{
height: 100rpx;
top:0;
padding-top: 50rpx;
width: 100%;
z-index: 999;
position: fixed;
background-color: #000000;
}
.uni-navbar{
font-size: 32rpx;
font-weight: bold;
}
.wishlist{
margin-top: 70rpx;
}
.wishlist_item_bottom{
width: 220rpx;
box-sizing: border-box;
}
.empty_item{
height: 500rpx;
padding: 20rpx 100rpx;
margin:50rpx auto;
color:#fff;
font-size: 24rpx;
text-align: center;
.empty_item_img{
height: 180rpx;
width: 180rpx;
margin: 0 auto;
margin-bottom: 30rpx;
image{
height: 100%;
width: 100%;
}
}
button {
font-size: 24.33rpx;
font-weight: 500;
background-color: white;
color: #000;
width: 160rpx;
height: 65.67rpx;
border-radius: 20rpx !important;
line-height: 65.67rpx;
border-radius: 0;
margin-top: 33.33rpx;
}
.uni-button{
border-radius: 20rpx !important;
}
}
</style>