|
|
|
@ -3,11 +3,11 @@ |
|
|
|
<view class="status_bar"></view> |
|
|
|
<uni-nav-bar left-icon="left" :rightText="isDelete?'Done':'Delete'" title="Wishlist" color="#000000" @clickLeft="back" @clickRight="clickRight()"/> |
|
|
|
<view class="wishlist"> |
|
|
|
<view class="wishlist_item" v-for="(item,index) in goodsList" :key="index" > |
|
|
|
<view class="wishlist_item" v-for="(item,index) in goodsList" :key="item.goods_id" > |
|
|
|
<view class="wishlist_item_img"@click="isDelete?selectGoods(item.goods_id,index): goDetails(item.goods_id)"> |
|
|
|
<image :src="item.goods_img" mode="" class="wishlist_item_img_goods"></image> |
|
|
|
<image src="../../static/img/select1.png" @click="deleteTap(item)" mode=" " class="select" v-if="isDelete && item.goods_id==goods_id || isAll"></image> |
|
|
|
<image src="../../static/img/select.png" mode="" class="select" v-else-if="isDelete && item.goods_id!=goods_id"></image> |
|
|
|
<image src="../../static/img/select1.png" @click="deleteTap(item)" mode=" " class="select" v-if="isDelete && item.goods_id==deletelist[index].id || isAll"></image> |
|
|
|
<image src="../../static/img/select.png" mode="" class="select" v-else-if=" isDelete &&item.goods_id!=deletelist[index].id"></image> |
|
|
|
<!-- <image :src="Src" @click="deleteTap(item)" mode=" " v-model="item.goods_id" class="select" v-if="isDelete || item.goods_id==goods_id"></image> --> |
|
|
|
</view> |
|
|
|
<view class="wishlist_item_bottom"> |
|
|
|
@ -23,7 +23,7 @@ |
|
|
|
<text>All</text> |
|
|
|
</view> |
|
|
|
<view class="wishlist_foot_right"> |
|
|
|
<button :disabled="!isAll || !goods_id" @click="$refs.alertDialog.open()" :class="(isAll||goods_id)?'wishlist_foot_right_button':''">DELETE</button> |
|
|
|
<button :disabled=" !goods_id" @click="$refs.alertDialog.open()" :class="(goods_id)?'wishlist_foot_right_button':''">DELETE</button> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<uni-popup ref="alertDialog" type="dialog"> |
|
|
|
@ -57,46 +57,93 @@ |
|
|
|
this.isDelete=true |
|
|
|
} |
|
|
|
let i = index |
|
|
|
console.log(i) |
|
|
|
|
|
|
|
|
|
|
|
let list = ({ |
|
|
|
id:this.goodsList[i].goods_id, |
|
|
|
index:i |
|
|
|
}) |
|
|
|
|
|
|
|
console.log(list) |
|
|
|
// let str = [] |
|
|
|
if(!this.deletelist.includes(list)){ |
|
|
|
this.deletelist.push(list) |
|
|
|
console.log(this.deletelist) |
|
|
|
} |
|
|
|
else if(this.deletelist.includes(list)){ |
|
|
|
let i = this.deletelist.indexOf(list) |
|
|
|
this.deletelist = this.deletelist.splice(i,1) |
|
|
|
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 == this.goodsList.length){ |
|
|
|
this.isAll = true |
|
|
|
}else{ |
|
|
|
this.isAll = false |
|
|
|
} |
|
|
|
// this.$store.commit('addSave', list) |
|
|
|
// if(this.$store.state.goodslist.includes(list)){ |
|
|
|
// const i = this.$store.state.goodslist.indexOf(list) |
|
|
|
// this.$store.state.goodslist = this.$store.state.goodslist.splice(i,1) |
|
|
|
// console.log(i) |
|
|
|
// } |
|
|
|
|
|
|
|
}, |
|
|
|
Sortid() |
|
|
|
{ |
|
|
|
var arr = this.deletelist |
|
|
|
var len = this.deletelist.length; |
|
|
|
for (var a = 0; a < len - 1; a++) { |
|
|
|
for (var b = 0; b < len - 1 - a; b++) { |
|
|
|
if (arr[b].index > arr[b+1].index) { // 相邻元素两两对比 |
|
|
|
var temp = arr[b+1]; // 元素交换 |
|
|
|
arr[b+1] = arr[b]; |
|
|
|
arr[b] = temp; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return arr; |
|
|
|
}, |
|
|
|
deleteTap(u){ |
|
|
|
this.goods_id = item.goods_id |
|
|
|
// if(this.Src.includes('select.png')){ |
|
|
|
// this.Src = '../../static/img/select1.png' |
|
|
|
// }else{ |
|
|
|
// this.Src = '../../static/img/select.png' |
|
|
|
// } |
|
|
|
|
|
|
|
}, |
|
|
|
isAllTap(){ |
|
|
|
this.goods_id = '' |
|
|
|
this.isAll=!this.isAll |
|
|
|
if(this.Src.includes('select.png')&&this.isAll==true){ |
|
|
|
this.Src = '../../static/img/select1.png' |
|
|
|
this.isAll = !this.isAll |
|
|
|
if(this.isAll == false){ |
|
|
|
this.goods_id = '' |
|
|
|
for(let i =0;i<this.deletelist.length;i++){ |
|
|
|
this.deletelist[i].id ='' |
|
|
|
this.deletelist[i].index ='' |
|
|
|
} |
|
|
|
|
|
|
|
}else{ |
|
|
|
this.Src = '../../static/img/select.png' |
|
|
|
this.goods_id = 1 |
|
|
|
this.isAll = true |
|
|
|
} |
|
|
|
}, |
|
|
|
removeL(e){ |
|
|
|
@ -126,6 +173,13 @@ |
|
|
|
console.info(res) |
|
|
|
if(res.error==0){ |
|
|
|
this.goodsList=res.data |
|
|
|
this.goodsList.map( item =>{ |
|
|
|
this.deletelist.push({ |
|
|
|
index:'', |
|
|
|
id:'' |
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
@ -143,21 +197,45 @@ |
|
|
|
}) |
|
|
|
}, |
|
|
|
// 取消收藏 |
|
|
|
removeLike(){ |
|
|
|
let data={_action:'unsetfaviouritegoods',goods_id:this.goods_id} |
|
|
|
if(this.isAll)data.goods_id=0 |
|
|
|
defaultRequest2(data).then(res=>{ |
|
|
|
console.info(res) |
|
|
|
if(res.error==0){ |
|
|
|
async removeLike(){ |
|
|
|
|
|
|
|
// let data={_action:'unsetfaviouritegoods',goods_id:this.goods_id} |
|
|
|
// if(this.isAll)data.goods_id=0 |
|
|
|
let list =[] |
|
|
|
let res |
|
|
|
this.deletelist.map( item =>{ |
|
|
|
if(item.id!=''){ |
|
|
|
console.log(111) |
|
|
|
list.push(item) |
|
|
|
|
|
|
|
} |
|
|
|
}) |
|
|
|
console.log(list) |
|
|
|
res = await Promise.all(list.map(async (item) => { |
|
|
|
// 等待异步操作完成,返回执行结果 |
|
|
|
return await defaultRequest2({ |
|
|
|
_action: 'unsetfaviouritegoods', |
|
|
|
goods_id: item.id |
|
|
|
}) |
|
|
|
|
|
|
|
})); |
|
|
|
console.log(res) |
|
|
|
if(res[0].error==0){ |
|
|
|
console.info(1234) |
|
|
|
setTimeout(() =>{ |
|
|
|
|
|
|
|
uni.showToast({ |
|
|
|
title:res.message, |
|
|
|
title:'ok!', |
|
|
|
icon:'none' |
|
|
|
}) |
|
|
|
this.isAll = false |
|
|
|
this.isDelete = false |
|
|
|
this.getList() |
|
|
|
},1000) |
|
|
|
this.getList() |
|
|
|
// uni.startPullDownRefresh() |
|
|
|
this.isAll = false |
|
|
|
this.isDelete = false |
|
|
|
|
|
|
|
} |
|
|
|
}) |
|
|
|
|
|
|
|
}, |
|
|
|
back(){ |
|
|
|
uni.navigateBack() |
|
|
|
@ -168,11 +246,29 @@ |
|
|
|
if(this.goodsList){ |
|
|
|
this.isAll= false |
|
|
|
this.isDelete=!this.isDelete |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
onLoad() { |
|
|
|
onLoad() { |
|
|
|
this.getList() |
|
|
|
// uni.startPullDownRefresh() |
|
|
|
// uni.clearStorage() |
|
|
|
this.deletelist = [] |
|
|
|
// let list = await uni.getStorage({ |
|
|
|
// key: 'deletelist' |
|
|
|
// }); |
|
|
|
// if (list.length>1) { |
|
|
|
|
|
|
|
// this.deletelist = JSON.parse(list[1].data); |
|
|
|
// console.log(this.deletelist); |
|
|
|
// } |
|
|
|
}, |
|
|
|
onPullDownRefresh(){ |
|
|
|
this.getList() |
|
|
|
setTimeout(function() { |
|
|
|
uni.stopPullDownRefresh(); |
|
|
|
}, 2000); |
|
|
|
} |
|
|
|
} |
|
|
|
</script> |
|
|
|
|