From 3201a1c32b0f6071425e823c0c5d52d70729373c Mon Sep 17 00:00:00 2001 From: Cxx0822 <1556464090@qq.com> Date: Thu, 21 May 2026 22:05:15 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=A2=9E=E5=8A=A0=E7=89=A9=E5=93=81?= =?UTF-8?q?=E8=BF=87=E6=9C=9F=E6=97=B6=E9=97=B4=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Ledger/LedgerQuery.vue | 4 ---- src/components/Product/ProductCard.vue | 17 +++++++++++++++-- src/components/Product/ProductQuery.vue | 2 +- src/types/product.ts | 8 -------- 4 files changed, 16 insertions(+), 15 deletions(-) diff --git a/src/components/Ledger/LedgerQuery.vue b/src/components/Ledger/LedgerQuery.vue index 55c3f87..32f32e0 100644 --- a/src/components/Ledger/LedgerQuery.vue +++ b/src/components/Ledger/LedgerQuery.vue @@ -27,10 +27,6 @@ onMounted(async () => { const initCategoryList = () => { queryCategoryList.value = [] - if (ledgerStore.ledgerBookList.length > 0) { - ledgerStore.queryInfo.book = ledgerStore.ledgerBookList[0] - } - ledgerStore.ledgerBookList.forEach((item) => { queryCategoryList.value.push({ label: item, diff --git a/src/components/Product/ProductCard.vue b/src/components/Product/ProductCard.vue index cf0dc16..3dac86e 100644 --- a/src/components/Product/ProductCard.vue +++ b/src/components/Product/ProductCard.vue @@ -22,18 +22,22 @@ {{ props.productItem.price }} + + + {{ props.productItem.expiryDate }} +
- {{ props.productItem.totalDay }}天 + {{ getTotalDay(props.productItem) }}天
- {{ props.productItem.averagePrice }}元/天 + {{ (props.productItem.price / getTotalDay(props.productItem)).toFixed(2) }}元/天
@@ -67,6 +71,7 @@ import { IProduct } from '@/types/product.ts' import { useRouter } from 'vue-router' import { ThumbImageQuery } from '@/utils' import { showImagePreview } from 'vant' +import { formatDate, getDateDifference } from 'vue3-common/utils/dateUtil' const productStore = useProductStore() const router = useRouter() @@ -96,6 +101,14 @@ const deleteClick = () => { productStore.handleProductApi(props.productItem as IProduct) }) } + +const getTotalDay = (product: IProduct) => { + if (product.expiryDate) { + return getDateDifference(product.purchaseDate, product.expiryDate, 'days') + } else { + return getDateDifference(product.purchaseDate, formatDate(new Date()), 'days') + } +}