46
46
<right-toolbar :showSearch.sync =" showSearch" @queryTable =" getList" ></right-toolbar >
47
47
</el-row >
48
48
49
+ <!-- Tab 选项:真正的内容在 Lab -->
50
+ <el-tabs v-model =" activeTab" type =" card" @tab-click =" tabClick" style =" margin-top : -40px ;" >
51
+ <el-tab-pane v-for =" tab in statusTabs" :key =" tab.value" :label =" tab.label" :name =" tab.value" />
52
+ </el-tabs >
53
+
49
54
<!-- 列表 -->
50
55
<el-table v-loading =" loading" :data =" list" >
51
56
<el-table-column label =" 退款编号" align =" center" prop =" no" />
52
- <el-table-column label =" 订单编号" align =" center" prop =" orderNo" />
53
- <el-table-column label =" 订单编号" align =" center" prop =" orderNo" />
54
- <el-table-column label =" 商品信息" align =" center" prop =" status" width =" auto" min-width =" 300" >
57
+ <el-table-column label =" 订单编号" align =" center" prop =" orderNo" /> <!-- TODO 芋艿:未来要加个订单链接 -->
58
+ <el-table-column label =" 商品信息" align =" center" prop =" spuName" width =" auto" min-width =" 300" >
55
59
<!-- TODO @小红:样式不太对,辛苦改改 -->
56
60
<!-- <div slot-scope="{ row }" class="goods-info">-->
57
61
<!-- <img :src="row.picUrl"/>-->
58
62
<!-- <span class="ellipsis-2" :title="row.name">{{row.name}}</span>-->
59
63
<!-- </div>-->
60
64
</el-table-column >
61
- <el-table-column label =" 订单金额" align =" center" prop =" refundPrice" />
62
- <el-table-column label =" 买家" align =" center" prop =" userId" />
65
+ <el-table-column label =" 订单金额" align =" center" prop =" refundPrice" >
66
+ <template v-slot =" scope " >
67
+ <span >¥{{ (scope.row.refundPrice / 100.0).toFixed(2) }}</span >
68
+ </template >
69
+ </el-table-column >
70
+ <el-table-column label =" 买家" align =" center" prop =" user.nickname" /> <!-- TODO 芋艿:未来要加个会员链接 -->
63
71
<el-table-column label =" 申请时间" align =" center" prop =" createTime" width =" 180" >
64
72
<template v-slot =" scope " >
65
73
<span >{{ parseTime(scope.row.createTime) }}</span >
77
85
</el-table-column >
78
86
<el-table-column label =" 操作" align =" center" class-name =" small-padding fixed-width" >
79
87
<template v-slot =" scope " >
80
- <!-- <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"-->
81
- <!-- v-hasPermi="['trade:after-sale:update']">修改</el-button>-->
88
+ <el-button size =" mini" type =" text" icon =" el-icon-thumb"
89
+ >处理退款</el-button >
90
+ <!-- @click="handleUpdate(scope.row)" v-hasPermi="['trade:after-sale:update']"-->
82
91
</template >
83
92
</el-table-column >
84
93
</el-table >
91
100
<script >
92
101
import { getAfterSalePage } from " @/api/mall/trade/afterSale" ;
93
102
import { datePickerOptions } from " @/utils/constants" ;
103
+ import {DICT_TYPE , getDictDatas } from " @/utils/dict" ;
94
104
95
105
export default {
96
106
name: " AfterSale" ,
@@ -124,12 +134,25 @@ export default {
124
134
way: null ,
125
135
type: null ,
126
136
},
137
+ // Tab 筛选
138
+ activeTab: ' all' ,
139
+ statusTabs: [{
140
+ label: ' 全部' ,
141
+ value: ' all'
142
+ }],
127
143
// 静态变量
128
144
datePickerOptions: datePickerOptions
129
145
};
130
146
},
131
147
created () {
132
148
this .getList ();
149
+ // 设置 statuses 过滤
150
+ for (const dict of getDictDatas (DICT_TYPE .TRADE_AFTER_SALE_STATUS )) {
151
+ this .statusTabs .push ({
152
+ label: dict .label ,
153
+ value: dict .value
154
+ })
155
+ }
133
156
},
134
157
methods: {
135
158
/** 查询列表 */
@@ -145,13 +168,23 @@ export default {
145
168
/** 搜索按钮操作 */
146
169
handleQuery () {
147
170
this .queryParams .pageNo = 1 ;
171
+ this .activeTab = this .queryParams .status ? this .queryParams .status : ' all' ; // 处理 tab
148
172
this .getList ();
149
173
},
150
174
/** 重置按钮操作 */
151
175
resetQuery () {
152
176
this .resetForm (" queryForm" );
177
+ this .activeTab = ' all' ; // 处理 tab
153
178
this .handleQuery ();
154
179
},
180
+ /** tab 切换 */
181
+ tabClick (tab ) {
182
+ this .queryParams .status = tab .name === ' all' ? undefined : tab .name ;
183
+ this .getList ();
184
+ },
185
+ goToDetail (row ) {
186
+ this .$router .push ({ path: ' /mall/trade/order/detail' , query: { orderNo: row .orderNo }})
187
+ }
155
188
}
156
189
};
157
190
</script >
0 commit comments