From 62b483cc627b0a5f7d626d6b333a3ef7c7c1f4f4 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 25 二月 2026 18:41:01 +0800
Subject: [PATCH] 调试
---
mini-program/pages/my-collection/my-collection.vue | 194 +++++++++++++++++++++++++++++++++++++++--------
1 files changed, 159 insertions(+), 35 deletions(-)
diff --git a/mini-program/pages/my-collection/my-collection.vue b/mini-program/pages/my-collection/my-collection.vue
index c8898ec..97cb341 100644
--- a/mini-program/pages/my-collection/my-collection.vue
+++ b/mini-program/pages/my-collection/my-collection.vue
@@ -1,75 +1,198 @@
<template>
<view class="box">
<view class="cate">
- <view v-for="(item, index) in cate" :key="index" @click="i = index" :class="i === index ? 'cate-item active' : 'cate-item'">
- <text>{{item}}</text>
- <view class="cate-item-x" v-if="i === index"></view>
+ <view v-for="(item, index) in cate" :key="index" @click="changeRow(item.id)" :class="type === item.id ? 'cate-item active' : 'cate-item'">
+ <text>{{item.name}}</text>
+ <view class="cate-item-x" v-if="type === item.id"></view>
</view>
- <view class="cate-item" style="flex: 0.7; justify-content: flex-end; padding-right: 30rpx; box-sizing: border-box;">
- <image src="/static/icon/ic_guanli@2x.png" mode="widthFix"></image>
- <text class="wz">绠$悊</text>
+ <view class="cate-item" style="flex: 0.7; justify-content: flex-end; padding-right: 30rpx; box-sizing: border-box;" @click="guanli">
+ <image src="/static/icon/ic_guanli@2x.png" mode="widthFix" v-show="!edit"></image>
+ <image src="/static/icon/ic_guanli_sel@2x.png" mode="widthFix" v-show="edit"></image>
+ <text class="wz" :style="{ color: edit ? '#004096' : '' }">绠$悊</text>
</view>
</view>
- <!-- <view class="list1">
- <view class="list-item">
- <view class="left">
- <image src="/static/icon/ic_agree@2x.png" mode="widthFix"></image>
+ <view class="list1" v-if="type === '1'">
+ <view class="list-item" v-for="(item, index) in list" :key="index">
+ <view class="left" v-if="edit" @click="select(index)">
+ <image src="/static/icon/ic_agree@2x.png" mode="widthFix" v-if="!item.active"></image>
+ <image src="/static/icon/cart_ic_sel@2x.png" mode="widthFix" v-else></image>
</view>
<view class="right">
<view class="list-item-image">
- <image src="/static/logo.png" mode="widthFix"></image>
+ <image :src="item.imgurl" mode="widthFix"></image>
</view>
<view class="list-item-info">
- <view class="list-item-info-top">鏇茶酱鍑忛渿鍣ㄧ毊甯﹁疆A12</view>
+ <view class="list-item-info-top">{{item.name}}</view>
<view class="list-item-info-bottom">
- <text>楼398.00</text>
- <text>楼498.00</text>
+ <text>楼{{item.price}}</text>
+ <text>楼{{item.linePrice}}</text>
</view>
</view>
</view>
</view>
- </view> -->
- <view class="list">
- <view class="list-item" v-for="(item, index) in 5" :key="index">
+ </view>
+ <view class="list" v-else>
+ <view class="list-item" v-for="(item, index) in list" :key="index">
<view class="info">
- <view class="check">
- <image src="/static/icon/ic_agree@2x.png" mode="widthFix"></image>
+ <view class="check" v-if="edit" @click="select(index)">
+ <image src="/static/icon/ic_agree@2x.png" mode="widthFix" v-if="!item.active"></image>
+ <image src="/static/icon/cart_ic_sel@2x.png" mode="widthFix" v-else></image>
</view>
<view class="info-right">
- <view class="info-title">鎸栨帢鏈哄湪鍐璧峰姩涓轰粈涔堝洶闅撅紵</view>
- <view class="info-desc">鎸栨帢鏈哄湪鍐璧峰姩涓轰粈涔堝洶闅撅紵涓嶄粎鍐冲畾浜庢湰韬殑鎶�鏈姸鍐碉紝杩樺彈澶栫晫姘旀俯鐨勫奖鍝�</view>
+ <view class="info-title">{{item.name}}</view>
+ <view class="info-desc">{{item.content}}</view>
<view class="info-data">
- <view class="tips">缁翠慨</view>
- <text>100 闃呰锝�2025-10-10 21:00</text>
+ <view class="tips">{{item.labelName}}</view>
+ <text>{{item.readNum}} 闃呰锝渰{item.createDate}}</text>
</view>
</view>
</view>
<view class="image">
- <image src="/static/logo.png" mode="widthFix"></image>
+ <image :src="item.imgurl" mode="widthFix"></image>
</view>
</view>
</view>
- <view style="width: 100%; height: calc(100rpx + env(safe-area-inset-bottom));"></view>
- <view class="footer">
- <view class="caozuo">
- <view class="caozuo-left">
- <image src="/static/icon/ic_agree@2x.png" mode="widthFix"></image>
- <text>鍏ㄩ��</text>
+ <template v-if="edit">
+ <view style="width: 100%; height: calc(100rpx + env(safe-area-inset-bottom));"></view>
+ <view class="footer">
+ <view class="caozuo">
+ <view class="caozuo-left" @click="quanxuan">
+ <image src="/static/icon/ic_agree@2x.png" mode="widthFix" v-if="!selectAll"></image>
+ <image src="/static/icon/cart_ic_sel@2x.png" mode="widthFix" v-else></image>
+ <text>鍏ㄩ��</text>
+ </view>
+ <view class="caozuo-btn" @click="shanchu">鍒犻櫎({{totalNum}})</view>
</view>
- <view class="caozuo-btn">鍒犻櫎(0)</view>
+ <view style="width: 100%; height: env(safe-area-inset-bottom);"></view>
</view>
- <view style="width: 100%; height: env(safe-area-inset-bottom);"></view>
- </view>
+ </template>
+ <u-modal :show="show" :showCancelButton="true" @confirm="dele" @cancel="show = false">
+ 纭鍒犻櫎鍚楋紵
+ </u-modal>
</view>
</template>
<script>
export default {
+ computed: {
+ totalNum() {
+ let total = 0
+ this.list.forEach((item) => {
+ if (item.active) {
+ total++
+ }
+ })
+ return total;
+ },
+ selectAll() {
+ let isSelectAll = true
+ this.list.forEach((item) => {
+ if (!item.active) {
+ isSelectAll = false
+ }
+ })
+ return isSelectAll;
+ }
+ },
data() {
return {
- i: 0,
- cate: ['鍟嗗搧(12)', '鏂囩珷(5)']
+ show: false,
+ edit: false,
+ type: '1',
+ page: 1,
+ list: [],
+ next: true,
+ cate: [
+ { name: '鍟嗗搧锛�0锛�', id: '1' },
+ { name: '鏂囩珷锛�0锛�', id: '0' }
+ ]
};
+ },
+ onLoad() {
+ this.getList()
+ this.getNum()
+ },
+ onReachBottom() {
+ this.getList()
+ },
+ methods: {
+ shanchu() {
+ if (this.totalNum > 0) {
+ this.show = true
+ } else {
+ uni.showToast({
+ title: '鑷冲皯閫夋嫨涓�椤瑰唴瀹�',
+ icon: 'none'
+ })
+ }
+ },
+ dele() {
+ this.$u.api.cancelbatch({
+ ids: this.list.filter(item => item.active).map(item => item.id).join(',')
+ }).then(res => {
+ if (res.code === 200) {
+ this.show = false
+ this.edit = false
+ this.page = 1
+ this.list = []
+ this.next = true
+ this.getList()
+ this.getNum()
+ }
+ })
+ },
+ quanxuan() {
+ this.list.forEach(item => {
+ item.active = true
+ })
+ },
+ guanli() {
+ this.edit = !this.edit
+ this.list.forEach(item => {
+ item.active = false
+ })
+ },
+ select(index) {
+ this.list[index].active = !this.list[index].active
+ },
+ changeRow(id) {
+ this.type = id
+ this.edit = false
+ this.page = 1
+ this.list = []
+ this.next = true
+ this.getList()
+ },
+ getNum() {
+ this.$u.api.getCollectNum({})
+ .then(res => {
+ if (res.code === 200) {
+ this.cate[0].name = `鍟嗗搧锛�${res.data.goodsNum}锛塦
+ this.cate[1].name = `鏂囩珷锛�${res.data.activityNum}锛塦
+ }
+ })
+ },
+ getList() {
+ if (!this.next) return
+ this.$u.api.myCollectPage({
+ capacity: 10,
+ page: 1,
+ model: {
+ objType: this.type
+ }
+ }).then(res => {
+ if (res.code === 200) {
+ this.page++
+ res.data.records.forEach(item => {
+ item.active = false
+ })
+ this.list.push(...res.data.records)
+ if (res.data.total === this.list.length) {
+ this.next = false
+ }
+ }
+ })
+ }
}
}
</script>
@@ -324,6 +447,7 @@
font-size: 24rpx;
color: #999999;
margin-left: 10rpx;
+ text-decoration: line-through;
}
}
}
--
Gitblit v1.9.3