feat(order): 添加订单退款功能并优化用户票券页面显示
- 新增 refundShopOrder API 接口用于处理订单退款申请 - 在 shopOrder 页面添加退款相关操作按钮和逻辑 - 修改用户票券页面表格列配置,添加订单号和数量字段 - 更新订单详情页面商品数量字段映射关系 - 启用开发环境 API 地址配置
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
VITE_APP_NAME=后台管理(开发环境)
|
VITE_APP_NAME=后台管理(开发环境)
|
||||||
#VITE_API_URL=http://127.0.0.1:9200/api
|
VITE_API_URL=http://127.0.0.1:9200/api
|
||||||
#VITE_SERVER_API_URL=http://127.0.0.1:8000/api
|
#VITE_SERVER_API_URL=http://127.0.0.1:8000/api
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -135,3 +135,18 @@ export async function shopOrderTotal(params?: ShopOrderParam) {
|
|||||||
}
|
}
|
||||||
return Promise.reject(new Error(res.data.message));
|
return Promise.reject(new Error(res.data.message));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 申请|同意退款
|
||||||
|
*/
|
||||||
|
export async function refundShopOrder(data: ShopOrder) {
|
||||||
|
const res = await request.put<ApiResult<unknown>>(
|
||||||
|
MODULES_API_URL + '/shop/shop-order/refund',
|
||||||
|
data
|
||||||
|
);
|
||||||
|
if (res.data.code === 0) {
|
||||||
|
return res.data.message;
|
||||||
|
}
|
||||||
|
return Promise.reject(new Error(res.data.message));
|
||||||
|
}
|
||||||
|
|||||||
@@ -31,6 +31,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</a-space>
|
</a-space>
|
||||||
</template>
|
</template>
|
||||||
|
<template v-if="column.key === 'buyQty'">
|
||||||
|
{{ record.availableQty }}
|
||||||
|
</template>
|
||||||
<template v-if="column.key === 'image'">
|
<template v-if="column.key === 'image'">
|
||||||
<a-image :src="record.image" :width="50" />
|
<a-image :src="record.image" :width="50" />
|
||||||
</template>
|
</template>
|
||||||
@@ -128,6 +131,12 @@
|
|||||||
key: 'templateName',
|
key: 'templateName',
|
||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: '订单号',
|
||||||
|
dataIndex: 'orderNo',
|
||||||
|
key: 'orderNo',
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: '金额',
|
title: '金额',
|
||||||
dataIndex: 'payPrice',
|
dataIndex: 'payPrice',
|
||||||
@@ -135,38 +144,38 @@
|
|||||||
align: 'center',
|
align: 'center',
|
||||||
customRender: ({ text }) => `¥${text.toFixed(2)}`
|
customRender: ({ text }) => `¥${text.toFixed(2)}`
|
||||||
},
|
},
|
||||||
// {
|
|
||||||
// title: '商品ID',
|
|
||||||
// dataIndex: 'goodsId',
|
|
||||||
// key: 'goodsId',
|
|
||||||
// align: 'center'
|
|
||||||
// },
|
|
||||||
{
|
{
|
||||||
title: '赠送数量(桶)',
|
title: '购买数量',
|
||||||
|
dataIndex: 'buyQty',
|
||||||
|
key: 'buyQty',
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '总数量',
|
||||||
dataIndex: 'totalQty',
|
dataIndex: 'totalQty',
|
||||||
key: 'totalQty',
|
key: 'totalQty',
|
||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '可用(桶)',
|
title: '可配送',
|
||||||
dataIndex: 'availableQty',
|
dataIndex: 'availableQty',
|
||||||
key: 'availableQty',
|
key: 'availableQty',
|
||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '冻结(桶)',
|
title: '待赠送',
|
||||||
dataIndex: 'frozenQty',
|
dataIndex: 'frozenQty',
|
||||||
key: 'frozenQty',
|
key: 'frozenQty',
|
||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '已使用(桶)',
|
title: '已使用',
|
||||||
dataIndex: 'usedQty',
|
dataIndex: 'usedQty',
|
||||||
key: 'usedQty',
|
key: 'usedQty',
|
||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '已释放(桶)',
|
title: '已释放',
|
||||||
dataIndex: 'releasedQty',
|
dataIndex: 'releasedQty',
|
||||||
key: 'releasedQty',
|
key: 'releasedQty',
|
||||||
align: 'center'
|
align: 'center'
|
||||||
|
|||||||
@@ -736,10 +736,10 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '数量',
|
title: '数量',
|
||||||
dataIndex: 'quantity',
|
dataIndex: 'totalNum',
|
||||||
align: 'center' as const,
|
align: 'center' as const,
|
||||||
customRender: ({ record }: { record: any }) => {
|
customRender: ({ record }: { record: any }) => {
|
||||||
return record.quantity || 1;
|
return record.totalNum || 1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -275,7 +275,7 @@
|
|||||||
repairOrder,
|
repairOrder,
|
||||||
removeShopOrder,
|
removeShopOrder,
|
||||||
removeBatchShopOrder,
|
removeBatchShopOrder,
|
||||||
updateShopOrder
|
updateShopOrder, refundShopOrder
|
||||||
} from '@/api/shop/shopOrder';
|
} from '@/api/shop/shopOrder';
|
||||||
import { updateUser } from '@/api/system/user';
|
import { updateUser } from '@/api/system/user';
|
||||||
import { getPayType } from '@/utils/shop';
|
import { getPayType } from '@/utils/shop';
|
||||||
@@ -579,7 +579,7 @@
|
|||||||
const now = new Date();
|
const now = new Date();
|
||||||
const refundTime = toDateString(now, 'yyyy-MM-dd HH:mm:ss');
|
const refundTime = toDateString(now, 'yyyy-MM-dd HH:mm:ss');
|
||||||
|
|
||||||
await updateShopOrder({
|
await refundShopOrder({
|
||||||
...record,
|
...record,
|
||||||
orderStatus: 6, // 退款成功
|
orderStatus: 6, // 退款成功
|
||||||
refundTime: refundTime
|
refundTime: refundTime
|
||||||
@@ -643,7 +643,7 @@
|
|||||||
const now = new Date();
|
const now = new Date();
|
||||||
const refundApplyTime = toDateString(now, 'yyyy-MM-dd HH:mm:ss');
|
const refundApplyTime = toDateString(now, 'yyyy-MM-dd HH:mm:ss');
|
||||||
|
|
||||||
await updateShopOrder({
|
await refundShopOrder({
|
||||||
...record,
|
...record,
|
||||||
orderStatus: 4, // 退款申请中
|
orderStatus: 4, // 退款申请中
|
||||||
refundApplyTime: refundApplyTime
|
refundApplyTime: refundApplyTime
|
||||||
|
|||||||
Reference in New Issue
Block a user