lin
2026-04-29 896df1cf0b7faff7fcc9ef6e23262228ff377e48
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
<template>
    <view>
        <view class="collect-title">
            <text>共收藏{{collectNums}}件商品</text>
            <view class="">
                <text v-if="!delFlag" @tap="delToggle">管理</text>
                <text v-if="delFlag" @tap="delCollect">删除</text>
                <text v-if="delFlag" @tap="delToggle">取消</text>
            </view>
        </view>
        <view class="goods-list" v-if="collectData.length > 0">
            <view class="goods-item" v-for="(item, index) in collectData">
                <view class="" @tap="collectClick(item, index)" v-if="delFlag">
                    <image class="checkImg" :src="item.check == 1 ? '/static/imgs/checked.png' : '/static/imgs/check.png'" mode=""></image>
                    <view class="msk"></view>
                </view>
                <view class="" @click="$util.goPages('/pages/ginfo/ginfo?id=' + item.goodsid)">
                    <image lazy-load class="goods-icon" :src="item.icon" mode="widthFix"></image>
                    <view class="goods-title">{{item.title}}</view>
                    <view class="goods-price">
                        <view>¥</view>
                        <view class="red">{{item.price}}</view>
                    </view>
                </view>
            </view>
        </view>
        <view class="noData" style="margin-top: 250upx;" v-else>
            <image src="/static/imgs/noData.png" mode=""></image>
            <view class="">没有收藏信息</view>
        </view>
    </view>
</template>
 
<script>
    export default {
        data() {
            return {
                delFlag: false,
                collectNums: 0,
                collectData: [],
                pageIndex: 1,
                pageSize: 200,
                delIds: [],
                delIndex: [],
            }
        },
        onLoad() {
            this.getCollect()
        },
        methods: {
            getCollect () {
                this.$util.post('Collect/getCollect', {pageIndex: this.pageIndex, pageSize: this.pageSize}).then(res => {
                    if(res.code == 1) {
                        this.collectData = res.data.list
                        this.collectNums = res.data.pageTotal
                    }
                })
            },
            delToggle () {
                this.delFlag = !this.delFlag
            },
            
            collectClick(e, index){
                e.check = e.check == 1 ? 0 : 1
                if(e.check == 1 && this.delIds.indexOf(e.id) < 0) {
                    this.delIds.push(e.id)
                    this.delIndex.push(index)
                } else {
                    let idx = this.delIds.indexOf(e.id)
                    let inx = this.delIndex.indexOf(index)
                    if(idx >= 0){
                        this.delIds.splice(idx, 1)
                        this.delIndex.splice(inx, 1)
                    }
                }
            },
            delCollect () {
                let t = this
                if(this.delIds.length == 0){
                    return uni.showToast({
                        title: '未选中删除项',
                        icon: 'error'
                    })
                }
                console.log('dis', this.delIds)
                uni.showModal({
                    title: '温馨提示',
                    content: '是否确定删除?',
                    success: function (res) {
                        if (res.confirm) {
                            console.log(t.delIds)
                            t.$util.post('Collect/delCollect', {ids: t.delIds}).then(res => {
                                if(res.code == 1){
                                    for(let i in t.delIndex){
                                        t.collectData.splice(t.delIndex[i], 1)
                                    }
                                    t.collectNums = t.collectNums - t.delIds.length
                                    t.delIds = []
                                    t.delIndex = []
                                    return uni.showToast({
                                        title: res.msg || '操作成功',
                                        icon: 'success'
                                    })
                                } else {
                                    return uni.showToast({
                                        title: res.msg || '操作失败',
                                        icon: 'error'
                                    })
                                }
                            })
                        }
                    }
                })
            }
        }
    }
</script>
 
<style>
    @import url(/static/css/collect.css);
</style>