From a1d7e81859f554f3a53680cc35f0f49bf1f77098 Mon Sep 17 00:00:00 2001
From: wwf <1971391498@qq.com>
Date: 星期四, 14 五月 2026 14:37:02 +0800
Subject: [PATCH] 导入项目
---
src/views/mall/promotion/kefu/components/member/ProductBrowsingHistory.vue | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 57 insertions(+), 0 deletions(-)
diff --git a/src/views/mall/promotion/kefu/components/member/ProductBrowsingHistory.vue b/src/views/mall/promotion/kefu/components/member/ProductBrowsingHistory.vue
new file mode 100644
index 0000000..a9b3856
--- /dev/null
+++ b/src/views/mall/promotion/kefu/components/member/ProductBrowsingHistory.vue
@@ -0,0 +1,57 @@
+<template>
+ <ProductItem
+ v-for="item in list"
+ :key="item.id"
+ :picUrl="item.picUrl"
+ :price="item.price"
+ :sales-count="item.salesCount"
+ :spu-id="item.spuId"
+ :stock="item.stock"
+ :title="item.spuName"
+ class="mb-10px"
+ />
+</template>
+
+<script lang="ts" setup>
+import { getBrowseHistoryPage } from '@/api/mall/product/history'
+import ProductItem from '@/views/mall/promotion/kefu/components/message/ProductItem.vue'
+import { KeFuConversationRespVO } from '@/api/mall/promotion/kefu/conversation'
+import { concat } from 'lodash-es'
+
+defineOptions({ name: 'ProductBrowsingHistory' })
+
+const list = ref<any>([]) // 鍒楄〃
+const total = ref(0) // 鎬绘暟
+const queryParams = reactive({
+ pageNo: 1,
+ pageSize: 10,
+ userId: 0,
+ userDeleted: false
+})
+const skipGetMessageList = computed(() => {
+ // 宸插姞杞藉埌鏈�鍚庝竴椤电殑璇濆垯涓嶈Е鍙戞柊鐨勬秷鎭幏鍙�
+ return total.value > 0 && Math.ceil(total.value / queryParams.pageSize) === queryParams.pageNo
+}) // 璺宠繃娑堟伅鑾峰彇
+
+/** 鑾峰緱娴忚璁板綍 */
+const getHistoryList = async (val: KeFuConversationRespVO) => {
+ queryParams.userId = val.userId
+ const res = await getBrowseHistoryPage(queryParams)
+ total.value = res.total
+ list.value = res.list
+}
+
+/** 鍔犺浇涓嬩竴椤垫暟鎹� */
+const loadMore = async () => {
+ if (skipGetMessageList.value) {
+ return
+ }
+ queryParams.pageNo += 1
+ const res = await getBrowseHistoryPage(queryParams)
+ total.value = res.total
+ concat(list.value, res.list)
+}
+defineExpose({ getHistoryList, loadMore })
+</script>
+
+<style lang="scss" scoped></style>
--
Gitblit v1.8.0