-
- 该商品已全部退款
-
-
-
-
+
@@ -132,6 +132,14 @@ const getCarList = async (orderId: string) => {
// 获取已退款的商品
const { data } = await hardCar.refundCar({ orderId })
if (!data || !data.length) {
+ disposeDataList.value = state.dataList.map((item) => {
+ if (!item) return null
+ return {
+ ...item,
+ refundProductCount: 0,
+ refundTotalPrice: 0,
+ }
+ }).filter(Boolean)
return
}
refundSuccessList.value = data
From 105679446a6fa988e0e021b51e9542f4ac6d0a3b Mon Sep 17 00:00:00 2001
From: dzc <2388224167@qq.com>
Date: Thu, 28 Aug 2025 12:41:55 +0800
Subject: [PATCH 4/7] =?UTF-8?q?feat:=E9=80=80=E6=AC=BE=E5=AE=8C=E6=88=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/utils/formatMoney.ts | 6 ++
src/views/hard/hard-after-sale/index.vue | 40 ++++----
.../components/admin-refund-dialog/index.vue | 16 ++--
.../components/admin-refund-dialog/table.vue | 91 ++++++++++++++-----
4 files changed, 100 insertions(+), 53 deletions(-)
diff --git a/src/utils/formatMoney.ts b/src/utils/formatMoney.ts
index 4615c6d..cf21e1b 100644
--- a/src/utils/formatMoney.ts
+++ b/src/utils/formatMoney.ts
@@ -9,6 +9,12 @@ export function displayPrice(price: any, suffix: string = "元", fixed = 2) {
return (parsedNumber / 100.0).toFixed(fixed) + suffix
}
+export function displayWeight(price: any, fixed = 2) {
+ if (typeof price === "undefined") return "0"
+ const parsedNumber = typeof price === "string" ? parseFloat(price) : price
+ return parsedNumber.toFixed(fixed)
+}
+
/**
* 把显示价格改为分
* @param price
diff --git a/src/views/hard/hard-after-sale/index.vue b/src/views/hard/hard-after-sale/index.vue
index 1f7fd35..90cd47f 100644
--- a/src/views/hard/hard-after-sale/index.vue
+++ b/src/views/hard/hard-after-sale/index.vue
@@ -10,23 +10,19 @@
-
+
- {{ $t("common.queryBtn") }}
+ {{ $t("common.queryBtn")
+ }}
{{ $t("common.resetBtn") }}
-
+
@@ -58,27 +54,25 @@
- 购物车
-
+ 购物车
+
退款
-
+
编辑
-
+
删除
-
+
diff --git a/src/views/hard/hard-order/components/admin-refund-dialog/index.vue b/src/views/hard/hard-order/components/admin-refund-dialog/index.vue
index 79c3a9f..bb0b42b 100644
--- a/src/views/hard/hard-order/components/admin-refund-dialog/index.vue
+++ b/src/views/hard/hard-order/components/admin-refund-dialog/index.vue
@@ -57,9 +57,13 @@ const openDialog = (id: string) => {
visible.value = true
state.orderId = id
- nextTick(() => {
+ nextTick(async () => {
+ loading.value = true
+ await new Promise((resolve) => setTimeout(() => resolve(true), 500))
+ state.currentTab = data.tabs[0].name
refundTableRef.value?.getCarList(state.orderId)
refundFormRef.value?.resetFields()
+ loading.value = false
})
}
@@ -68,11 +72,11 @@ function tabClick(e: any) {
loading.value = true
try {
await new Promise((resolve) => setTimeout(() => resolve(true), 250))
- switch (e.paneName) {
- case "CAR":
- refundTableRef.value?.getCarList(state.orderId)
- break
- }
+ // switch (e.paneName) {
+ // case "CAR":
+ // refundTableRef.value?.getCarList(state.orderId)
+ // break
+ // }
await new Promise((resolve) => setTimeout(() => resolve(true), 250))
} catch (error: any) {
console.log(error);
diff --git a/src/views/hard/hard-order/components/admin-refund-dialog/table.vue b/src/views/hard/hard-order/components/admin-refund-dialog/table.vue
index d0dd289..e9cec80 100644
--- a/src/views/hard/hard-order/components/admin-refund-dialog/table.vue
+++ b/src/views/hard/hard-order/components/admin-refund-dialog/table.vue
@@ -5,19 +5,29 @@
-
-
+
+
+
+
+
+
+
{{ displayPrice(row.productPrice) }}
-
+
+
+ {{ row.productCount }}
+ {{ displayWeight(row.productWeight) }}kg
+
+
{{ displayPrice(row.totalPrice) }}
@@ -32,19 +42,29 @@
-
-
+
+
+
+
+
+
+
{{ displayPrice(row.productPrice) }}
-
+
+
+ {{ row.productCount }}
+ {{ displayWeight(row.productWeight) }}kg
+
+
{{ displayPrice(row.totalPrice) }}
@@ -62,13 +82,18 @@
-
-
+
+
+
+
+
+
+
{{ displayPrice(row.productPrice) }}
@@ -77,13 +102,23 @@
+
+ v-model="row.refundProductWeight" :min="0" :max="row.maxRefundProductWeight"
+ :step="0.01" @change="handleRefundProductCount($event, row)" />
+
+
+
+ :max="row.maxRefundProductCount" @change="handleRefundProductCount($event, row)" />
+
-
+
+ 该商品已全部退款
+
+
该商品已全部退款
@@ -104,8 +139,9 @@