|
|
@@ -1,5 +1,5 @@
|
|
|
<template>
|
|
|
- <view class="scan-history">
|
|
|
+ <view class="my-fav">
|
|
|
<!-- 顶部操作栏 -->
|
|
|
<view class="header" v-if="bookList.length">
|
|
|
<view class="left">
|
|
|
@@ -14,16 +14,16 @@
|
|
|
</view>
|
|
|
|
|
|
<!-- 书籍列表 -->
|
|
|
- <page-scroll :page-size="12" @updateList="handleUpdateList" ref="pageRef" slotEmpty emptyText="您暂未扫过书籍">
|
|
|
+ <page-scroll :page-size="12" url="/token/shop/user/collectList" @updateList="handleUpdateList" ref="pageRef" slotEmpty emptyText="您暂未收藏书籍">
|
|
|
<view class="book-list">
|
|
|
<BookListItem v-for="book in bookList" :key="book.isbn" :book="book" :isEditMode="isEditMode"
|
|
|
- @action="handleAction" @checked="handleChecked" />
|
|
|
+ @click="handleBookClick" @checked="handleChecked" />
|
|
|
</view>
|
|
|
</page-scroll>
|
|
|
|
|
|
<!-- 删除确认弹窗 -->
|
|
|
<common-dialog ref="deleteDialog" title="温馨提示" @confirm="confirmDelete">
|
|
|
- <text>确定删除选中图书吗?</text>
|
|
|
+ <text>确定移除选中商品吗?</text>
|
|
|
</common-dialog>
|
|
|
</view>
|
|
|
</template>
|
|
|
@@ -52,7 +52,7 @@ export default {
|
|
|
this.$refs.pageRef?.loadData(true)
|
|
|
},
|
|
|
// #endif
|
|
|
- mounted() {
|
|
|
+ onShow() {
|
|
|
this.$refs.pageRef?.loadData(true)
|
|
|
},
|
|
|
methods: {
|
|
|
@@ -60,36 +60,25 @@ export default {
|
|
|
this.$nextTick(() => {
|
|
|
let item = this.bookList.find(item => item.isbn === book.isbn)
|
|
|
let index = this.bookList.findIndex(item => item.isbn === book.isbn)
|
|
|
- item.selected = checked
|
|
|
- this.$set(this.bookList, index, item)
|
|
|
-
|
|
|
- this.isAllSelected = this.bookList.every(item => item.selected)
|
|
|
- console.log(this.bookList, 'this.isAllSelected')
|
|
|
+ if (item) {
|
|
|
+ item.selected = checked
|
|
|
+ this.$set(this.bookList, index, item)
|
|
|
+ this.isAllSelected = this.bookList.every(item => item.selected)
|
|
|
+ }
|
|
|
})
|
|
|
},
|
|
|
- handleAction(book) {
|
|
|
- if (book.status == 2) {
|
|
|
- uni.$u.http.get('/token/order/addScanToOrder?isbn=' + book.isbn).then(res => {
|
|
|
- if (res.code === 200) {
|
|
|
- uni.showToast({
|
|
|
- title: '加入成功',
|
|
|
- icon: 'success'
|
|
|
- })
|
|
|
- this.$refs.pageRef?.loadData(true)
|
|
|
- } else {
|
|
|
- uni.showToast({
|
|
|
- title: res.msg,
|
|
|
- icon: 'none'
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
+ handleBookClick(book) {
|
|
|
+ uni.navigateTo({
|
|
|
+ url: '/pages-sell/pages/detail?isbn=' + book.isbn
|
|
|
+ });
|
|
|
},
|
|
|
handleUpdateList(data) {
|
|
|
this.bookList = data.map(v => {
|
|
|
v.selected = false
|
|
|
return v
|
|
|
})
|
|
|
+ // 重置全选状态
|
|
|
+ this.isAllSelected = false;
|
|
|
},
|
|
|
|
|
|
// 切换编辑模式
|
|
|
@@ -98,8 +87,9 @@ export default {
|
|
|
if (!this.isEditMode) {
|
|
|
this.bookList.forEach(book => book.selected = false)
|
|
|
} else {
|
|
|
- this.isAllSelected = true
|
|
|
- this.bookList.forEach(book => book.selected = true)
|
|
|
+ // 进入编辑模式不默认全选
|
|
|
+ this.isAllSelected = false
|
|
|
+ this.bookList.forEach(book => book.selected = false)
|
|
|
}
|
|
|
},
|
|
|
|
|
|
@@ -114,7 +104,7 @@ export default {
|
|
|
let deleteIds = this.bookList.filter(book => book.selected)
|
|
|
if (deleteIds.length === 0) {
|
|
|
uni.showToast({
|
|
|
- title: '请选择要删除的记录',
|
|
|
+ title: '请选择要移除的商品',
|
|
|
icon: 'none'
|
|
|
})
|
|
|
return
|
|
|
@@ -125,13 +115,14 @@ export default {
|
|
|
// 确认删除
|
|
|
confirmDelete() {
|
|
|
let deleteIds = this.bookList.filter(book => book.selected).map(v => v.isbn)
|
|
|
- uni.$u.http.post('/token/order/removeScanLogs', deleteIds).then(res => {
|
|
|
+ this.$u.api.removeCollectAjax(deleteIds).then(res => {
|
|
|
if (res.code === 200) {
|
|
|
uni.showToast({
|
|
|
- title: '删除成功',
|
|
|
+ title: '移除成功',
|
|
|
icon: 'success'
|
|
|
})
|
|
|
this.$refs.pageRef?.loadData(true)
|
|
|
+ this.isEditMode = false;
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
@@ -140,7 +131,7 @@ export default {
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss">
|
|
|
-.scan-history {
|
|
|
+.my-fav {
|
|
|
min-height: 100vh;
|
|
|
|
|
|
::v-deep .checkbox-item {
|