Browse Source

修复多选删除收藏

master
lincm 4 years ago
parent
commit
972f63331f
  1. 3
      pages.json
  2. 6
      pages/account/myOrders.vue
  3. 2
      pages/account/settings.vue
  4. 168
      pages/account/wishlist.vue
  5. 2
      pages/order/confirmation.vue
  6. 4
      pages/productDetails/index.vue

3
pages.json

@ -95,7 +95,8 @@
{
"path": "pages/account/wishlist",
"style": {
"titleNView":false
"titleNView":false,
"enablePullDownRefresh":true
}
},
{

6
pages/account/myOrders.vue

@ -831,7 +831,7 @@
.info_lable{
padding: 5.33rpx 20rpx;
font-size: 22.67rpx;
border-radius: 33.33rpx;
// border-radius: 33.33rpx;
border: 1px solid #D3D3D3;
image{
width: 17.33rpx;
@ -882,7 +882,7 @@
font-size: 22.67rpx;
border: none;
margin: 0;
border-radius: 0;
// border-radius: 0;
&:last-child{
margin-right: 0 !important;
@ -918,7 +918,7 @@
background-color: #000000;
font-size: 24rpx;
color: white;
border-radius: 13.33rpx;
// border-radius: 13.33rpx;
height: 63.33rpx;
margin-top: 20rpx;
}

2
pages/account/settings.vue

@ -24,7 +24,7 @@
<button @click="signOut">SIGN OUT</button>
</view>
<view class="edition">
<view class="edition_title">CHIC BUYER</view>
<view class="edition_title">DOPE PLUS</view>
<text>Version {{appver}}</text>
</view>
</view>

168
pages/account/wishlist.vue

@ -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>

2
pages/order/confirmation.vue

@ -115,7 +115,7 @@
<view class="left_info_bottom">
<view class="info_lable" v-if="item.goods_attr">
<text>{{item.goods_attr |goodsAttr}}</text>
<image src="/static/img/bottom.png" mode=""></image>
<!-- <image src="/static/img/bottom.png" mode=""></image> -->
</view>
<text>x{{item.goods_number}}</text>
</view>

4
pages/productDetails/index.vue

@ -119,7 +119,7 @@
</view>
</view>
<view class="promotion" v-if="goodsDate.is_promote==1">
<!-- <view class="promotion" v-if="goodsDate.is_promote==1">
<view class="promotion_title">Promotion</view>
<view class="promotion_content">
<view class="promotion_content_item">
@ -137,7 +137,7 @@
</view>
</view>
</view>
</view>
</view> -->
<view class="transport">
<!-- <view class="goods_title">Shipping to {{addressDate.country_name || 'United States'}}</view> -->

Loading…
Cancel
Save