1
1
<template >
2
- <Dialog v-model =" dialogVisible" title =" 详情" width =" 50%" >
3
- <el-descriptions :column =" 2" >
4
- <el-descriptions-item label =" 商户名称" >{{ detailData.merchantName }}</el-descriptions-item >
5
- <el-descriptions-item label =" 应用名称" >{{ detailData.appName }}</el-descriptions-item >
6
- <el-descriptions-item label =" 商品名称" >{{ detailData.subject }}</el-descriptions-item >
7
- </el-descriptions >
8
- <el-divider />
9
- <el-descriptions :column =" 2" >
10
- <el-descriptions-item label =" 商户订单号" >
11
- <el-tag >{{ detailData.merchantOrderId }}</el-tag >
2
+ <Dialog v-model =" dialogVisible" title =" 订单详情" width =" 700px" >
3
+ <el-descriptions :column =" 2" label-class-name =" desc-label" >
4
+ <el-descriptions-item label =" 商户单号" >
5
+ <el-tag size =" small" >{{ detailData.merchantOrderId }}</el-tag >
12
6
</el-descriptions-item >
13
- <el-descriptions-item label =" 渠道订单号 " >
14
- <el-tag class = " tag-purple " >{{ detailData.channelOrderNo }}</el-tag >
7
+ <el-descriptions-item label =" 支付单号 " >
8
+ <el-tag type = " warning " size = " small " v-if = " detailData.no " >{{ detailData.no }}</el-tag >
15
9
</el-descriptions-item >
16
- <el-descriptions-item label =" 支付订单号" >
17
- <el-tag v-if =" detailData.payOrderExtension" class =" tag-pink" >
18
- {{ detailData.payOrderExtension.no }}
19
- </el-tag >
10
+ </el-descriptions >
11
+ <el-descriptions :column =" 2" label-class-name =" desc-label" >
12
+ <el-descriptions-item label =" 应用编号" >{{ detailData.appId }}</el-descriptions-item >
13
+ <el-descriptions-item label =" 应用名称" >{{ detailData.appName }}</el-descriptions-item >
14
+ </el-descriptions >
15
+ <el-descriptions :column =" 2" label-class-name =" desc-label" >
16
+ <el-descriptions-item label =" 支付状态" >
17
+ <dict-tag :type =" DICT_TYPE.PAY_ORDER_STATUS" :value =" detailData.status" size =" small" />
20
18
</el-descriptions-item >
21
- <el-descriptions-item label =" 金额 " >
22
- <el-tag type =" success" >¥{{ parseFloat (detailData.price / 100, 2 ).toFixed(2) }}</el-tag >
19
+ <el-descriptions-item label =" 支付金额 " >
20
+ <el-tag type =" success" size = " small " >¥{{ (detailData.price / 100.0 ).toFixed(2) }}</el-tag >
23
21
</el-descriptions-item >
22
+ </el-descriptions >
23
+ <el-descriptions :column =" 2" label-class-name =" desc-label" >
24
24
<el-descriptions-item label =" 手续费" >
25
- <el-tag type =" warning" >
26
- ¥{{ parseFloat (detailData.channelFeePrice / 100, 2 ).toFixed(2) }}
25
+ <el-tag type =" warning" size = " small " >
26
+ ¥{{ (detailData.channelFeePrice / 100.0 ).toFixed(2) }}
27
27
</el-tag >
28
28
</el-descriptions-item >
29
29
<el-descriptions-item label =" 手续费比例" >
30
- {{ parseFloat(detailData.channelFeeRate / 100, 2) }}%
31
- </el-descriptions-item >
32
- <el-descriptions-item label =" 支付状态" >
33
- <dict-tag :type =" DICT_TYPE.PAY_ORDER_STATUS" :value =" detailData.status" />
34
- </el-descriptions-item >
35
- <el-descriptions-item label =" 回调状态" >
36
- <dict-tag :type =" DICT_TYPE.PAY_ORDER_NOTIFY_STATUS" :value =" detailData.notifyStatus" />
37
- </el-descriptions-item >
38
- <el-descriptions-item label =" 回调地址" >{{ detailData.notifyUrl }}</el-descriptions-item >
39
- <el-descriptions-item label =" 创建时间" >
40
- {{ formatDate(detailData.createTime) }}
30
+ {{ (detailData.channelFeeRate / 100.0).toFixed(2) }}%
41
31
</el-descriptions-item >
32
+ </el-descriptions >
33
+ <el-descriptions :column =" 2" label-class-name =" desc-label" >
42
34
<el-descriptions-item label =" 支付时间" >
43
35
{{ formatDate(detailData.successTime) }}
44
36
</el-descriptions-item >
45
37
<el-descriptions-item label =" 失效时间" >
46
38
{{ formatDate(detailData.expireTime) }}
47
39
</el-descriptions-item >
48
- <el-descriptions-item label =" 通知时间" >
49
- {{ formatDate(detailData.notifyTime) }}
40
+ </el-descriptions >
41
+ <el-descriptions :column =" 2" label-class-name =" desc-label" >
42
+ <el-descriptions-item label =" 创建时间" >
43
+ {{ formatDate(detailData.createTime) }}
44
+ </el-descriptions-item >
45
+ <el-descriptions-item label =" 更新时间" >
46
+ {{ formatDate(detailData.updateTime) }}
50
47
</el-descriptions-item >
51
48
</el-descriptions >
49
+ <!-- 分割线 -->
52
50
<el-divider />
53
- <el-descriptions :column =" 2" >
54
- <el-descriptions-item label =" 支付渠道"
55
- >{{ detailData.channelCodeName }}
51
+ <el-descriptions :column =" 2" label-class-name =" desc-label" >
52
+ <el-descriptions-item label =" 商品标题" >{{ detailData.subject }}</el-descriptions-item >
53
+ <el-descriptions-item label =" 商品描述" >{{ detailData.body }}</el-descriptions-item >
54
+ </el-descriptions >
55
+ <el-descriptions :column =" 2" label-class-name =" desc-label" >
56
+ <el-descriptions-item label =" 支付渠道" >
57
+ <dict-tag :type =" DICT_TYPE.PAY_CHANNEL_CODE" :value =" detailData.channelCode" />
56
58
</el-descriptions-item >
57
- <el-descriptions-item label =" 支付IP" >{{ detailData.userIp }}</el-descriptions-item >
58
- <el-descriptions-item label =" 退款状态" >
59
- <dict-tag :type =" DICT_TYPE.PAY_ORDER_REFUND_STATUS" :value =" detailData.refundStatus" />
59
+ <el-descriptions-item label =" 支付 IP" >{{ detailData.userIp }}</el-descriptions-item >
60
+ </el-descriptions >
61
+ <el-descriptions :column =" 2" label-class-name =" desc-label" >
62
+ <el-descriptions-item label =" 渠道单号" >
63
+ <el-tag size =" mini" type =" success" v-if =" detailData.channelOrderNo" >
64
+ {{ detailData.channelOrderNo }}
65
+ </el-tag >
60
66
</el-descriptions-item >
61
- <el-descriptions-item label =" 退款次数" >{{ detailData.refundTimes }}</el-descriptions-item >
67
+ <el-descriptions-item label =" 渠道用户" >{{ detailData.channelUserId }}</el-descriptions-item >
68
+ </el-descriptions >
69
+ <el-descriptions :column =" 2" label-class-name =" desc-label" >
62
70
<el-descriptions-item label =" 退款金额" >
63
- <el-tag type =" warning " >
64
- {{ parseFloat (detailData.refundPrice / 100, 2) }}
71
+ <el-tag size = " mini " type =" danger " >
72
+ ¥ {{ (detailData.refundPrice / 100.0).toFixed( 2) }}
65
73
</el-tag >
66
74
</el-descriptions-item >
75
+ <el-descriptions-item label =" 通知 URL" >{{ detailData.notifyUrl }}</el-descriptions-item >
67
76
</el-descriptions >
77
+ <!-- 分割线 -->
68
78
<el-divider />
69
- <el-descriptions :column =" 1" border direction =" vertical" >
70
- <el-descriptions-item label =" 商品描述" >
71
- {{ detailData.body }}
72
- </el-descriptions-item >
79
+ <el-descriptions :column =" 1" label-class-name =" desc-label" direction =" vertical" border >
73
80
<el-descriptions-item label =" 支付通道异步回调内容" >
74
- <div style =" width : 700px ; overflow : auto " >
75
- {{ detailData.payOrderExtension?.channelNotifyData }}
76
- </div >
81
+ {{ detailData.extension.channelNotifyData }}
77
82
</el-descriptions-item >
78
83
</el-descriptions >
79
84
</Dialog >
@@ -87,7 +92,9 @@ defineOptions({ name: 'PayOrderDetail' })
87
92
88
93
const dialogVisible = ref (false ) // 弹窗的是否展示
89
94
const detailLoading = ref (false ) // 表单的加载中
90
- const detailData = ref ({})
95
+ const detailData = ref ({
96
+ extension: {}
97
+ })
91
98
92
99
/** 打开弹窗 */
93
100
const open = async (id : number ) => {
@@ -96,6 +103,9 @@ const open = async (id: number) => {
96
103
detailLoading .value = true
97
104
try {
98
105
detailData .value = await OrderApi .getOrderDetail (id )
106
+ if (! detailData .value .extension ) {
107
+ detailData .value .extension = {}
108
+ }
99
109
} finally {
100
110
detailLoading .value = false
101
111
}
0 commit comments