Skip to content

Commit 0e29988

Browse files
committed
mall + pay:
1. 优化订单管理的接口实现
1 parent 904aae9 commit 0e29988

File tree

1 file changed

+27
-76
lines changed

1 file changed

+27
-76
lines changed

src/views/pay/order/index.vue

Lines changed: 27 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<el-form-item label="渠道编码" prop="channelCode">
1212
<el-select v-model="queryParams.channelCode" placeholder="请输入渠道编码" clearable
1313
@clear="()=>{queryParams.channelCode = null}">
14-
<el-option v-for="dict in payChannelCodeDictDatum" :key="dict.value" :label="dict.label" :value="dict.value"/>
14+
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.PAY_CHANNEL_CODE)" :key="dict.value" :label="dict.label" :value="dict.value"/>
1515
</el-select>
1616
</el-form-item>
1717
<el-form-item label="商户订单编号" prop="merchantOrderId">
@@ -24,13 +24,13 @@
2424
</el-form-item>
2525
<el-form-item label="支付状态" prop="status">
2626
<el-select v-model="queryParams.status" placeholder="请选择支付状态" clearable size="small">
27-
<el-option v-for="dict in payOrderDictDatum" :key="parseInt(dict.value)"
27+
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.PAY_ORDER_STATUS)" :key="parseInt(dict.value)"
2828
:label="dict.label" :value="parseInt(dict.value)"/>
2929
</el-select>
3030
</el-form-item>
3131
<el-form-item label="退款状态" prop="refundStatus">
3232
<el-select v-model="queryParams.refundStatus" placeholder="请选择退款状态" clearable>
33-
<el-option v-for="dict in payOrderRefundDictDatum" :key="parseInt(dict.value)"
33+
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.PAY_ORDER_REFUND_STATUS)" :key="parseInt(dict.value)"
3434
:label="dict.label" :value="parseInt(dict.value)"/>
3535
</el-select>
3636
</el-form-item>
@@ -102,6 +102,7 @@
102102
</template>
103103

104104
</el-table-column>
105+
<!-- TODO 芋艿:要放开 -->
105106
<!-- <el-table-column label="退款状态" align="center" prop="refundStatus">-->
106107
<!-- <template v-slot="scope">-->
107108
<!-- <span>{{ getDictDataLabel(DICT_TYPE.PAY_ORDER_REFUND_STATUS, scope.row.refundStatus) }}</span>-->
@@ -124,7 +125,7 @@
124125
</el-table-column>
125126
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
126127
<template v-slot="scope">
127-
<el-button size="mini" type="text" icon="el-icon-search" @click="handleQueryDetails(scope.row)"
128+
<el-button size="mini" type="text" icon="el-icon-search" @click="handleDetail(scope.row)"
128129
v-hasPermi="['pay:order:query']">查看详情
129130
</el-button>
130131
</template>
@@ -134,7 +135,7 @@
134135
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
135136
@pagination="getList"/>
136137

137-
<!-- 对话框(添加 / 修改) -->
138+
<!-- 对话框(详情) -->
138139
<el-dialog title="订单详情" :visible.sync="open" width="50%">
139140
<el-descriptions :column="2" label-class-name="desc-label">
140141
<el-descriptions-item label="应用名称">{{ orderDetail.appName }}</el-descriptions-item>
@@ -149,8 +150,8 @@
149150
<el-tag class="tag-purple" size="small">{{ orderDetail.channelOrderNo }}</el-tag>
150151
</el-descriptions-item>
151152
<el-descriptions-item label="支付订单号">
152-
<el-tag v-if="orderDetail.payOrderExtension.no !== ''" class="tag-pink" size="small">
153-
{{ orderDetail.payOrderExtension.no }}
153+
<el-tag v-if="orderDetail.extension.no !== ''" class="tag-pink" size="small">
154+
{{ orderDetail.extension.no }}
154155
</el-tag>
155156
</el-descriptions-item>
156157
<el-descriptions-item label="金额">
@@ -176,7 +177,9 @@
176177
</el-descriptions>
177178
<el-divider></el-divider>
178179
<el-descriptions :column="2" label-class-name="desc-label">
179-
<el-descriptions-item label="支付渠道">{{ orderDetail.channelCodeName }}</el-descriptions-item>
180+
<el-descriptions-item label="支付渠道">
181+
<dict-tag :type="DICT_TYPE.PAY_CHANNEL_CODE" :value="orderDetail.channelCode" />
182+
</el-descriptions-item>
180183
<el-descriptions-item label="支付IP">{{ orderDetail.userIp }}</el-descriptions-item>
181184
<el-descriptions-item label="退款状态">
182185
<dict-tag :type="DICT_TYPE.PAY_ORDER_REFUND_STATUS" :value="orderDetail.refundStatus" />
@@ -194,7 +197,7 @@
194197
{{ orderDetail.body }}
195198
</el-descriptions-item>
196199
<el-descriptions-item label="支付通道异步回调内容">
197-
{{ orderDetail.payOrderExtension.channelNotifyData }}
200+
{{ orderDetail.extension.channelNotifyData }}
198201
</el-descriptions-item>
199202
</el-descriptions>
200203
</el-dialog>
@@ -204,34 +207,6 @@
204207
<script>
205208
import { getOrderDetail, getOrderPage, exportOrderExcel } from "@/api/pay/order";
206209
import { DICT_TYPE, getDictDatas } from "@/utils/dict";
207-
import { getNowDateTime} from "@/utils/ruoyi";
208-
209-
const defaultOrderDetail = {
210-
appName: '',
211-
channelCodeName: '',
212-
subject: '',
213-
merchantOrderId: null,
214-
channelOrderNo: '',
215-
body: '',
216-
price: null,
217-
channelFeeRate: null,
218-
channelFeePrice: null,
219-
userIp: '',
220-
status: null,
221-
notifyUrl: '',
222-
notifyStatus: null,
223-
refundStatus: null,
224-
refundTimes: '',
225-
refundPrice: null,
226-
createTime: '',
227-
successTime: '',
228-
notifyTime: '',
229-
expireTime: '',
230-
payOrderExtension: {
231-
channelNotifyData: '',
232-
no: ''
233-
}
234-
};
235210
236211
export default {
237212
name: "PayOrder",
@@ -278,47 +253,24 @@ export default {
278253
notifyTime: [],
279254
createTime: []
280255
},
281-
// 商户加载遮罩层
282-
merchantLoading: false,
283-
// 商户列表集合
284-
merchantList: null,
256+
285257
// 支付应用列表集合
286-
appList: null,
287-
// 支付渠道编码字典数据集合
288-
payChannelCodeDictDatum: getDictDatas(DICT_TYPE.PAY_CHANNEL_CODE),
258+
appList: [],
289259
// 订单回调商户状态字典数据集合
290260
payOrderNotifyDictDatum: getDictDatas(DICT_TYPE.PAY_ORDER_NOTIFY_STATUS),
291-
// 订单状态字典数据集合
292-
payOrderDictDatum: getDictDatas(DICT_TYPE.PAY_ORDER_STATUS),
293-
// 订单退款状态字典数据集合
294-
payOrderRefundDictDatum: getDictDatas(DICT_TYPE.PAY_ORDER_REFUND_STATUS),
295-
orderDetail: JSON.parse(JSON.stringify(defaultOrderDetail)),
261+
262+
// 订单详情
263+
orderDetail: {
264+
extension: {}
265+
},
296266
};
297267
},
298268
created() {
299-
// 初始化默认时间
300-
this.initTime();
301269
this.getList();
302-
this.handleGetMerchantListByName(null);
303270
},
304271
methods: {
305-
initTime(){
306-
this.queryParams.createTime = [getNowDateTime("00:00:00"), getNowDateTime("23:59:59")];
307-
},
308272
/** 查询列表 */
309273
getList() {
310-
// 判断选择的日期是否超过了一个月
311-
let oneMonthTime = 31 * 24 * 3600 * 1000;
312-
if (this.queryParams.createTime == null){
313-
this.initTime();
314-
} else {
315-
let minDateTime = new Date(this.queryParams.createTime[0]).getTime();
316-
let maxDateTime = new Date(this.queryParams.createTime[1]).getTime()
317-
if (maxDateTime - minDateTime > oneMonthTime) {
318-
this.$message.error('时间范围最大为 31 天!');
319-
return false;
320-
}
321-
}
322274
this.loading = true;
323275
// 执行查询
324276
getOrderPage(this.queryParams).then(response => {
@@ -339,23 +291,22 @@ export default {
339291
/** 重置按钮操作 */
340292
resetQuery() {
341293
this.resetForm("queryForm");
342-
this.initTime();
343294
this.handleQuery();
344295
},
345-
/**
346-
* 查看订单详情
347-
*/
348-
handleQueryDetails(row) {
349-
this.orderDetail = JSON.parse(JSON.stringify(defaultOrderDetail));
296+
/** 详情按钮操作 */
297+
handleDetail(row) {
298+
this.orderDetail = {};
350299
getOrderDetail(row.id).then(response => {
300+
// 设置值
351301
this.orderDetail = response.data;
352-
if (response.data.payOrderExtension === null) {
353-
this.orderDetail.payOrderExtension = Object.assign(defaultOrderDetail.payOrderExtension, {});
302+
if (!this.orderDetail.extension) {
303+
this.orderDetail.extension = {}
354304
}
305+
// 弹窗打开
355306
this.open = true;
356307
});
357-
358308
},
309+
359310
/** 导出按钮操作 */
360311
handleExport() {
361312
// 处理查询参数

0 commit comments

Comments
 (0)