Skip to content

Commit 29b8d06

Browse files
committed
code review:售后详情
1 parent 09d2163 commit 29b8d06

File tree

5 files changed

+50
-15
lines changed

5 files changed

+50
-15
lines changed

src/api/mall/trade/afterSale/index.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,26 +43,32 @@ export interface ProductPropertiesVO {
4343
export const getAfterSalePage = async (params) => {
4444
return await request.get({ url: `/trade/after-sale/page`, params })
4545
}
46+
4647
// 获得交易售后详情
4748
export const getAfterSale = async (id: any) => {
4849
return await request.get({ url: `/trade/after-sale/get-detail?id=${id}` })
4950
}
51+
5052
// 同意售后
5153
export const agree = async (id: any) => {
5254
return await request.put({ url: `/trade/after-sale/agree?id=${id}` })
5355
}
56+
5457
// 拒绝售后
5558
export const disagree = async (data: any) => {
5659
return await request.put({ url: `/trade/after-sale/disagree`, data })
5760
}
61+
5862
// 确认收货
5963
export const receive = async (id: any) => {
6064
return await request.put({ url: `/trade/after-sale/receive?id=${id}` })
6165
}
66+
6267
// 拒绝收货
6368
export const refuse = async (id: any) => {
6469
return await request.put({ url: `/trade/after-sale/refuse?id=${id}` })
6570
}
71+
6672
// 确认退款
6773
export const refund = async (id: any) => {
6874
return await request.put({ url: `/trade/after-sale/refund?id=${id}` })

src/router/modules/remaining.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -401,9 +401,9 @@ const remainingRouter: AppRouteRecordRaw[] = [
401401
},
402402
children: [
403403
{
404-
path: 'orderDetail/:orderId(\\d+)',
404+
path: 'orderDetail/:orderId(\\d+)', // TODO @puhui999:路径合理的是 trade/order/detail
405405
component: () => import('@/views/mall/trade/order/detail/index.vue'),
406-
name: 'TradeOrderDetail',
406+
name: 'TradeOrderDetail', // TODO @puhui999:路径合理的是 trade/after-sale/detail
407407
meta: { title: '订单详情', icon: '', activeMenu: '/trade/trade/order' }
408408
},
409409
{

src/views/mall/trade/afterSale/components/UpdateAuditReasonForm.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
<script lang="ts" setup>
2020
import * as AfterSaleApi from '@/api/mall/trade/afterSale/index'
2121
22+
// TODO @puhui999:是不是改成 AfterSaleDisagreeForm ,更明确
2223
defineOptions({ name: 'UpdateAuditReasonForm' })
2324
2425
const { t } = useI18n() // 国际化

src/views/mall/trade/afterSale/detail/index.vue

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<template>
22
<ContentWrap>
33
<!-- 订单信息 -->
4-
<el-descriptions title="退款订单信息">
4+
<el-descriptions title="订单信息">
55
<el-descriptions-item label="订单号: ">{{ formData.orderNo }}</el-descriptions-item>
66
<el-descriptions-item label="配送方式: ">
77
<dict-tag :type="DICT_TYPE.TRADE_DELIVERY_TYPE" :value="formData.order.deliveryType" />
@@ -38,18 +38,20 @@
3838
<el-descriptions-item label="申请时间: ">
3939
{{ formatDate(formData.auditTime) }}
4040
</el-descriptions-item>
41-
<!-- TODO 营销活动待实现 -->
41+
<!-- TODO 营销活动待实现 -->
4242
<el-descriptions-item label="售后类型: ">
4343
<dict-tag :type="DICT_TYPE.TRADE_AFTER_SALE_TYPE" :value="formData.type" />
4444
</el-descriptions-item>
4545
<el-descriptions-item label="售后方式: ">
4646
<dict-tag :type="DICT_TYPE.TRADE_AFTER_SALE_WAY" :value="formData.way" />
4747
</el-descriptions-item>
48+
<!-- TODO @puhui999:金额的格式化 -->
4849
<el-descriptions-item label="退款金额: ">{{ formData.refundPrice }}</el-descriptions-item>
4950
<el-descriptions-item label="退款原因: ">{{ formData.applyReason }}</el-descriptions-item>
5051
<el-descriptions-item label="补充描述: ">
5152
{{ formData.applyDescription }}
5253
</el-descriptions-item>
54+
<!-- TODO @puhui999:数组,图片 -->
5355
<el-descriptions-item label="凭证图片: "> {{ formData.applyPicUrls }}</el-descriptions-item>
5456
</el-descriptions>
5557

@@ -58,6 +60,7 @@
5860
<el-descriptions-item label="退款状态: ">
5961
<dict-tag :type="DICT_TYPE.TRADE_AFTER_SALE_STATUS" :value="formData.status" />
6062
</el-descriptions-item>
63+
<!-- TODO @puhui999:不同状态,展示不同按钮 -->
6164
<el-descriptions-item label-class-name="no-colon">
6265
<el-button type="primary" @click="openForm('agree')">同意售后</el-button>
6366
<el-button type="primary" @click="openForm('disagree')">拒绝售后</el-button>
@@ -108,7 +111,7 @@
108111
</el-row>
109112
</el-descriptions-item>
110113
</el-descriptions>
111-
<!-- 售后信息 -->
114+
<!-- 售后信息 TODO @puhui999:需要接入 -->
112115
<el-descriptions title="售后日志" />
113116
</ContentWrap>
114117

@@ -130,13 +133,16 @@ const formData = ref({
130133
order: {}
131134
})
132135
const updateAuditReasonFormRef = ref() // 拒绝售后表单 Ref
136+
133137
/** 获得详情 */
134138
const getDetail = async () => {
135139
const id = params.orderId as unknown as number
136140
if (id) {
137141
formData.value = await AfterSaleApi.getAfterSale(id)
138142
}
139143
}
144+
145+
/** 各种操作 TODO @puhui999:是不是每个一个方法好点,干净点 */
140146
const openForm = (type: string) => {
141147
switch (type) {
142148
case 'agree':

src/views/mall/trade/afterSale/index.vue

Lines changed: 32 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
<el-form-item label="商品名称" prop="spuName">
66
<el-input
77
v-model="queryParams.spuName"
8+
class="!w-280px"
89
clearable
910
placeholder="请输入商品 SPU 名称"
1011
@keyup.enter="handleQuery"
@@ -13,6 +14,7 @@
1314
<el-form-item label="退款编号" prop="no">
1415
<el-input
1516
v-model="queryParams.no"
17+
class="!w-280px"
1618
clearable
1719
placeholder="请输入退款编号"
1820
@keyup.enter="handleQuery"
@@ -21,13 +23,19 @@
2123
<el-form-item label="订单编号" prop="orderNo">
2224
<el-input
2325
v-model="queryParams.orderNo"
26+
class="!w-280px"
2427
clearable
2528
placeholder="请输入订单编号"
2629
@keyup.enter="handleQuery"
2730
/>
2831
</el-form-item>
2932
<el-form-item label="售后状态" prop="status">
30-
<el-select v-model="queryParams.status" clearable placeholder="请选择售后状态">
33+
<el-select
34+
v-model="queryParams.status"
35+
class="!w-280px"
36+
clearable
37+
placeholder="请选择售后状态"
38+
>
3139
<el-option label="全部" value="0" />
3240
<el-option
3341
v-for="dict in getDictOptions(DICT_TYPE.TRADE_AFTER_SALE_STATUS)"
@@ -38,7 +46,12 @@
3846
</el-select>
3947
</el-form-item>
4048
<el-form-item label="售后方式" prop="way">
41-
<el-select v-model="queryParams.way" clearable placeholder="请选择售后方式">
49+
<el-select
50+
v-model="queryParams.way"
51+
class="!w-280px"
52+
clearable
53+
placeholder="请选择售后方式"
54+
>
4255
<el-option
4356
v-for="dict in getDictOptions(DICT_TYPE.TRADE_AFTER_SALE_WAY)"
4457
:key="dict.value"
@@ -48,7 +61,12 @@
4861
</el-select>
4962
</el-form-item>
5063
<el-form-item label="售后类型" prop="type">
51-
<el-select v-model="queryParams.type" clearable placeholder="请选择售后类型">
64+
<el-select
65+
v-model="queryParams.type"
66+
class="!w-280px"
67+
clearable
68+
placeholder="请选择售后类型"
69+
>
5270
<el-option
5371
v-for="dict in getDictOptions(DICT_TYPE.TRADE_AFTER_SALE_TYPE)"
5472
:key="dict.value"
@@ -61,7 +79,7 @@
6179
<el-date-picker
6280
v-model="queryParams.createTime"
6381
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
64-
class="!w-280px"
82+
class="!w-260px"
6583
end-placeholder="自定义时间"
6684
start-placeholder="自定义时间"
6785
type="daterange"
@@ -80,6 +98,7 @@
8098
</el-form-item>
8199
</el-form>
82100
</ContentWrap>
101+
83102
<ContentWrap>
84103
<el-tabs v-model="queryParams.status" @tab-click="tabClick">
85104
<el-tab-pane
@@ -163,12 +182,7 @@ import { floatToFixed2 } from '@/utils'
163182
defineOptions({ name: 'TradeAfterSale' })
164183
165184
const { push } = useRouter() // 路由跳转
166-
/** 商品图预览 */
167-
const imagePreview = (imgUrl: string) => {
168-
createImageViewer({
169-
urlList: [imgUrl]
170-
})
171-
}
185+
172186
const loading = ref(true) // 列表的加载中
173187
const total = ref(0) // 列表的总页数
174188
const list = ref<AfterSaleApi.TradeAfterSaleVO[]>([]) // 列表的数据
@@ -228,11 +242,19 @@ const tabClick = async (tab: TabsPaneContext) => {
228242
const openAfterSaleDetail = (id: number) => {
229243
push({ name: 'TradeAfterSaleDetail', params: { orderId: id } })
230244
}
245+
231246
/** 查看订单详情 */
232247
const openOrderDetail = (id: number) => {
233248
push({ name: 'TradeOrderDetail', params: { orderId: id } })
234249
}
235250
251+
/** 商品图预览 */
252+
const imagePreview = (imgUrl: string) => {
253+
createImageViewer({
254+
urlList: [imgUrl]
255+
})
256+
}
257+
236258
onMounted(async () => {
237259
await getList()
238260
// 设置 statuses 过滤

0 commit comments

Comments
 (0)