From 4891ac46b2f5854a58d37ac66dae963cf3d4160f Mon Sep 17 00:00:00 2001
From: dzc <2388224167@qq.com>
Date: Thu, 9 Jan 2025 13:02:54 +0800
Subject: [PATCH] =?UTF-8?q?feat:=E9=80=80=E6=AC=BE=E8=AF=A6=E6=83=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/hard/hard-after-sale.ts | 17 ++
.../hard/hard-after-sale/order-refund.vue | 209 ++++++++++++++++++
src/views/hard/hard-order/index.vue | 15 +-
.../components/refund/index.vue | 16 +-
4 files changed, 248 insertions(+), 9 deletions(-)
create mode 100644 src/views/hard/hard-after-sale/order-refund.vue
diff --git a/src/api/hard/hard-after-sale.ts b/src/api/hard/hard-after-sale.ts
index 2b96fdc..cbc6571 100644
--- a/src/api/hard/hard-after-sale.ts
+++ b/src/api/hard/hard-after-sale.ts
@@ -1,5 +1,22 @@
import request from "/@/utils/request"
+
+export function history(query?: Object) {
+ return request({
+ url: '/hard/hard-after-sale/history',
+ method: 'get',
+ params: query
+ })
+}
+
+export function detailByOrderId(query?: Object) {
+ return request({
+ url: '/hard/hard-after-sale/detail-by-order-id',
+ method: 'get',
+ params: query
+ })
+}
+
export function pageJoin(query?: Object) {
return request({
url: '/hard/hard-after-sale/page',
diff --git a/src/views/hard/hard-after-sale/order-refund.vue b/src/views/hard/hard-after-sale/order-refund.vue
new file mode 100644
index 0000000..761d794
--- /dev/null
+++ b/src/views/hard/hard-after-sale/order-refund.vue
@@ -0,0 +1,209 @@
+
+
+
+
+
+ {{ globalData.detail.id }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ globalData.detail.merchantName }}
+
+
+ {{ globalData.detail.hardName }}
+
+
+ {{ globalData.detail.hardType }}
+
+
+
+ {{ displayPrice(globalData.detail.totalPrice) }}
+
+
+
+
+ {{ displayPrice(globalData.detail.extraPrice) }}
+
+
+
+
+ {{ displayPrice(globalData.detail.payPrice) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ displayPrice(row.productPrice) }}
+
+
+
+
+
+ {{ displayPrice(row.totalPrice) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/hard/hard-order/index.vue b/src/views/hard/hard-order/index.vue
index 7fcd0aa..ad3d9a6 100644
--- a/src/views/hard/hard-order/index.vue
+++ b/src/views/hard/hard-order/index.vue
@@ -26,7 +26,7 @@
:header-cell-style="tableStyle.headerCellStyle" @selection-change="selectionChangHandle"
@sort-change="sortChangeHandle">
-
+
@@ -101,12 +101,13 @@
-
+
购物车
-
+
退款
import('./form.vue'));
const ShopCar = defineAsyncComponent(() => import('../components/shop-car.vue'));
@@ -187,6 +190,10 @@ const handleClick = (e: any) => {
getDataList()
}
+const doRefund = (row: any) => {
+ push({ path: '/hard/hard-after-sale/order-refund', query: { id: row.id } })
+}
+
// 导出excel
const exportExcel = () => {
downBlobFile('/hard/hardwareOrder/export', Object.assign(state.queryForm, { ids: selectObjs }), 'hardwareOrder.xlsx')
diff --git a/src/views/wallet/wallet-setting/components/refund/index.vue b/src/views/wallet/wallet-setting/components/refund/index.vue
index f4341c1..82ffb9e 100644
--- a/src/views/wallet/wallet-setting/components/refund/index.vue
+++ b/src/views/wallet/wallet-setting/components/refund/index.vue
@@ -43,7 +43,7 @@ import { getObj, putObj } from "/@/api/wallet/wallet-setting"
const dataFormRef = ref();
const loading = ref(false)
// 提交表单数据
-const form = reactive({
+const form = reactive({
id: undefined,
afterSaleRefundReasons: undefined,
afterSaleReturnReasons: undefined,
@@ -62,13 +62,12 @@ onMounted(() => {
const onSubmit = async () => {
const valid = await dataFormRef.value.validate().catch(() => { });
if (!valid) return false;
-
try {
loading.value = true;
const pa = {
...form,
- payPrice: storePrice(form.payPrice),
- bonusPrice: storePrice(form.bonusPrice),
+ afterSaleRefundReasons: form.afterSaleRefundReasons?.join(","),
+ afterSaleReturnReasons: form.afterSaleReturnReasons?.join(",")
}
await putObj(pa)
useMessage().success('修改成功');
@@ -85,7 +84,14 @@ const getwalletRechargePackageData = (id: string) => {
// 获取数据
loading.value = true
getObj(id).then((res: any) => {
- Object.assign(form, res.data)
+ const data: any = res.data;
+ if (data.afterSaleRefundReasons) {
+ data.afterSaleRefundReasons = data.afterSaleRefundReasons?.split(",")
+ }
+ if (data.afterSaleReturnReasons) {
+ data.afterSaleReturnReasons = data.afterSaleReturnReasons?.split(",")
+ }
+ Object.assign(form, data)
}).finally(() => {
loading.value = false
})