From 9f836ad25b0df3d41cf06f57a1f6c6ace772574c Mon Sep 17 00:00:00 2001 From: puhui999 Date: Sat, 7 Oct 2023 11:10:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8B=BC=E5=9B=A2=E8=AE=B0=E5=BD=95=EF=BC=9A?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=A1=B5=E9=9D=A2=E5=B8=83=E5=B1=80=EF=BC=8C?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=97=A5=E6=9C=9F=E5=BF=AB=E6=8D=B7=E9=80=89?= =?UTF-8?q?=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (cherry picked from commit 5b4983a3e97fe921fae06b3fa4d7fdb8fee09f42) --- src/utils/dict.ts | 3 +- .../promotion/combination/record/index.vue | 181 +++++++++++------- 2 files changed, 114 insertions(+), 70 deletions(-) diff --git a/src/utils/dict.ts b/src/utils/dict.ts index ef29a22c..556b3468 100644 --- a/src/utils/dict.ts +++ b/src/utils/dict.ts @@ -182,5 +182,6 @@ export enum DICT_TYPE { PROMOTION_COUPON_TAKE_TYPE = 'promotion_coupon_take_type', // 优惠劵的领取方式 PROMOTION_ACTIVITY_STATUS = 'promotion_activity_status', // 优惠活动的状态 PROMOTION_CONDITION_TYPE = 'promotion_condition_type', // 营销的条件类型枚举 - PROMOTION_BARGAIN_RECORD_STATUS = 'promotion_bargain_record_status' // 砍价记录的状态 + PROMOTION_BARGAIN_RECORD_STATUS = 'promotion_bargain_record_status', // 砍价记录的状态 + PROMOTION_COMBINATION_RECORD_STATUS = 'promotion_combination_record_status' // 拼团记录的状态 } diff --git a/src/views/mall/promotion/combination/record/index.vue b/src/views/mall/promotion/combination/record/index.vue index 08f92fd8..2f9b1ee4 100644 --- a/src/views/mall/promotion/combination/record/index.vue +++ b/src/views/mall/promotion/combination/record/index.vue @@ -65,44 +65,63 @@ - - -
- 时间段: - - 拼团状态: - - + + + - -
+ + + + + + + + + + 搜索 + + + + 重置 + + + +
+ - - - - - + + + + - + @@ -159,7 +181,6 @@ import { DICT_TYPE, getIntDictOptions } from '@/utils/dict' import { dateFormatter } from '@/utils/formatTime' import { createImageViewer } from '@/components/ImageViewer' import * as CombinationRecordApi from '@/api/mall/promotion/combination/combinationRecord' -import { TabsPaneContext } from 'element-plus' defineOptions({ name: 'CombinationRecord' }) const queryParams = ref({ @@ -169,15 +190,16 @@ const queryParams = ref({ pageSize: 10, pageNo: 1 }) +const queryFormRef = ref() // 搜索的表单 const loading = ref(true) // 列表的加载中 const total = ref(0) // 总记录数 -const pageList = ref([]) // 分页数据 +const pageList = ref([]) // 分页数据 /** 查询列表 */ const getList = async () => { loading.value = true try { const data = await CombinationRecordApi.getCombinationRecordPage(queryParams.value) - pageList.value = data.list + pageList.value = data.list as CombinationRecordApi.CombinationRecordVO[] total.value = data.total } finally { loading.value = false @@ -193,64 +215,85 @@ const recordSummary = ref({ const getSummary = async () => { recordSummary.value = await CombinationRecordApi.getCombinationRecordSummary() } - -// tabs 数据 -const tabsData = ref([ +// 日期快捷选项 +const shortcuts = ref([ { - count: 0, - name: '全部', - type: 'all', - value: 0 - }, - { - count: 0, - name: '今天', + text: '今天', type: 'toDay', - value: 1 + value: () => { + queryParams.value.dateType = 1 + return new Date() + } }, { - count: 0, - name: '昨天', + text: '昨天', type: 'yesterday', - value: 2 + value: () => { + const date = new Date() + date.setTime(date.getTime() - 3600 * 1000 * 24) + queryParams.value.dateType = 2 + return [date, date] + } }, { - count: 0, - name: '最近七天', + text: '最近七天', type: 'lastSevenDays', - value: 3 + value: () => { + const date = new Date() + date.setTime(date.getTime() - 3600 * 1000 * 24 * 7) + queryParams.value.dateType = 3 + return [date, new Date()] + } }, { - count: 0, - name: '最近30天', + text: '最近30天', type: 'last30Days', - value: 4 + value: () => { + const date = new Date() + date.setTime(date.getTime() - 3600 * 1000 * 24 * 30) + queryParams.value.dateType = 4 + return [date, new Date()] + } }, { - count: 0, - name: '本月', + text: '本月', type: 'thisMonth', - value: 5 + value: () => { + const date = new Date() + date.setDate(1) // 设置为当前月的第一天 + queryParams.value.dateType = 5 + return [date, new Date()] + } }, { - count: 0, - name: '今年', + text: '今年', type: 'thisYear', - value: 6 + value: () => { + const date = new Date() + queryParams.value.dateType = 6 + return [new Date(`${date.getFullYear()}-01-01`), date] + } } ]) /** 获得每个 Tab 的数量 */ const getTabsCount = async () => { const res = await CombinationRecordApi.getCombinationRecordCount() - tabsData.value.forEach((tab) => { - tab.count = res[tab.type] + shortcuts.value.forEach((tab) => { + tab.text += `(${res[tab.type]})` }) } -const handleTabClick = async (tab: TabsPaneContext) => { - queryParams.value.dateType = tab.paneName as number - await getList() +/** 搜索按钮操作 */ +const handleQuery = () => { + queryParams.value.pageNo = 1 + getList() +} + +/** 重置按钮操作 */ +const resetQuery = () => { + queryFormRef.value.resetFields() + handleQuery() } /** 商品图预览 */