Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
phsl
/
admin
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
30cf8008
authored
Apr 11, 2023
by
YunaiV
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
REVIEW 退款订单
parent
8863d1d0
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
117 additions
and
156 deletions
+117
-156
src/views/pay/order/index.vue
+2
-2
src/views/pay/refund/RefundDetail.vue
+115
-0
src/views/pay/refund/index.vue
+0
-0
src/views/pay/refund/refundForm.vue
+0
-154
No files found.
src/views/pay/order/index.vue
View file @
30cf8008
...
@@ -233,7 +233,7 @@ import { DICT_TYPE, getIntDictOptions, getStrDictOptions } from '@/utils/dict'
...
@@ -233,7 +233,7 @@ import { DICT_TYPE, getIntDictOptions, getStrDictOptions } from '@/utils/dict'
import
{
dateFormatter
}
from
'@/utils/formatTime'
import
{
dateFormatter
}
from
'@/utils/formatTime'
import
*
as
MerchantApi
from
'@/api/pay/merchant'
import
*
as
MerchantApi
from
'@/api/pay/merchant'
import
*
as
OrderApi
from
'@/api/pay/order'
import
*
as
OrderApi
from
'@/api/pay/order'
import
OrderDetail
from
'
@/views/pay/order
/OrderDetail.vue'
import
OrderDetail
from
'
.
/OrderDetail.vue'
const
message
=
useMessage
()
// 消息弹窗
const
message
=
useMessage
()
// 消息弹窗
import
download
from
'@/utils/download'
import
download
from
'@/utils/download'
...
@@ -314,7 +314,7 @@ const handleExport = async () => {
...
@@ -314,7 +314,7 @@ const handleExport = async () => {
/** 预览详情 */
/** 预览详情 */
const
detailRef
=
ref
()
const
detailRef
=
ref
()
const
openDetail
=
(
id
?
:
number
)
=>
{
const
openDetail
=
(
id
:
number
)
=>
{
detailRef
.
value
.
open
(
id
)
detailRef
.
value
.
open
(
id
)
}
}
...
...
src/views/pay/refund/RefundDetail.vue
0 → 100644
View file @
30cf8008
<
template
>
<Dialog
title=
"详情"
v-model=
"dialogVisible"
width=
"50%"
>
<el-descriptions
:column=
"2"
>
<el-descriptions-item
label=
"商户名称"
>
{{
detailData
.
merchantName
}}
</el-descriptions-item>
<el-descriptions-item
label=
"应用名称"
>
{{
detailData
.
appName
}}
</el-descriptions-item>
<el-descriptions-item
label=
"商品名称"
>
{{
detailData
.
subject
}}
</el-descriptions-item>
</el-descriptions>
<el-divider
/>
<el-descriptions
:column=
"2"
>
<el-descriptions-item
label=
"商户退款单号"
>
<el-tag>
{{
detailData
.
merchantRefundNo
}}
</el-tag>
</el-descriptions-item>
<el-descriptions-item
label=
"商户订单号"
>
{{
detailData
.
merchantOrderId
}}
</el-descriptions-item>
<el-descriptions-item
label=
"交易订单号"
>
{{
detailData
.
tradeNo
}}
</el-descriptions-item>
</el-descriptions>
<el-divider
/>
<el-descriptions
:column=
"2"
>
<el-descriptions-item
label=
"支付金额"
>
<el-tag
type=
"success"
>
¥
{{
parseFloat
(
detailData
.
payAmount
/
100
,
2
).
toFixed
(
2
)
}}
</el-tag>
</el-descriptions-item>
<el-descriptions-item
label=
"退款金额"
>
<el-tag
class=
"tag-purple"
>
¥
{{
parseFloat
(
detailData
.
refundAmount
/
100
).
toFixed
(
2
)
}}
</el-tag>
</el-descriptions-item>
<el-descriptions-item
label=
"退款类型"
>
<dict-tag
:type=
"DICT_TYPE.PAY_REFUND_ORDER_TYPE"
:value=
"detailData.type"
/>
</el-descriptions-item>
<el-descriptions-item
label=
"退款状态"
>
<dict-tag
:type=
"DICT_TYPE.PAY_REFUND_ORDER_STATUS"
:value=
"detailData.status"
/>
</el-descriptions-item>
<el-descriptions-item
label=
"创建时间"
>
{{
formatDate
(
detailData
.
createTime
)
}}
</el-descriptions-item>
<el-descriptions-item
label=
"退款成功时间"
>
{{
formatDate
(
detailData
.
successTime
)
}}
</el-descriptions-item>
<el-descriptions-item
label=
"退款失效时间"
>
{{
formatDate
(
detailData
.
expireTime
)
}}
</el-descriptions-item>
<el-descriptions-item
label=
"更新时间"
>
{{
formatDate
(
detailData
.
updateTime
)
}}
</el-descriptions-item>
</el-descriptions>
<el-divider
/>
<el-descriptions
:column=
"2"
>
<el-descriptions-item
label=
"支付渠道"
>
{{
detailData
.
channelCodeName
}}
</el-descriptions-item>
<el-descriptions-item
label=
"支付 IP"
>
{{
detailData
.
userIp
}}
</el-descriptions-item>
<el-descriptions-item
label=
"回调地址"
>
{{
detailData
.
notifyUrl
}}
</el-descriptions-item>
<el-descriptions-item
label=
"回调状态"
>
<dict-tag
:type=
"DICT_TYPE.PAY_ORDER_NOTIFY_STATUS"
:value=
"detailData.notifyStatus"
/>
</el-descriptions-item>
<el-descriptions-item
label=
"回调时间"
>
{{
formatDate
(
detailData
.
notifyTime
)
}}
</el-descriptions-item>
</el-descriptions>
<el-divider
/>
<el-descriptions
:column=
"2"
>
<el-descriptions-item
label=
"渠道订单号"
>
{{
detailData
.
channelOrderNo
}}
</el-descriptions-item>
<el-descriptions-item
label=
"渠道退款单号"
>
{{
detailData
.
channelRefundNo
}}
</el-descriptions-item>
<el-descriptions-item
label=
"渠道错误码"
>
{{
detailData
.
channelErrorCode
}}
</el-descriptions-item>
<el-descriptions-item
label=
"渠道错误码描述"
>
{{
detailData
.
channelErrorMsg
}}
</el-descriptions-item>
</el-descriptions>
<br
/>
<el-descriptions
:column=
"1"
direction=
"vertical"
border
>
<el-descriptions-item
label=
"渠道额外参数"
>
{{
detailData
.
channelExtras
}}
</el-descriptions-item>
<el-descriptions-item
label=
"退款原因"
>
{{
detailData
.
reason
}}
</el-descriptions-item>
</el-descriptions>
</Dialog>
</
template
>
<
script
setup
lang=
"ts"
name=
"refundForm"
>
import
{
DICT_TYPE
}
from
'@/utils/dict'
import
{
formatDate
}
from
'@/utils/formatTime'
import
*
as
RefundApi
from
'@/api/pay/refund'
const
dialogVisible
=
ref
(
false
)
// 弹窗的是否展示
const
detailLoading
=
ref
(
false
)
// 表单的加载中
const
detailData
=
ref
({})
/** 打开弹窗 */
const
open
=
async
(
id
:
number
)
=>
{
dialogVisible
.
value
=
true
// 设置数据
detailLoading
.
value
=
true
try
{
detailData
.
value
=
await
RefundApi
.
getRefund
(
id
)
}
finally
{
detailLoading
.
value
=
false
}
}
defineExpose
({
open
})
// 提供 open 方法,用于打开弹窗
</
script
>
<
style
>
.tag-purple
{
color
:
#722ed1
;
background
:
#f9f0ff
;
border-color
:
#d3adf7
;
}
</
style
>
src/views/pay/refund/index.vue
View file @
30cf8008
This diff is collapsed.
Click to expand it.
src/views/pay/refund/refundForm.vue
deleted
100644 → 0
View file @
8863d1d0
<
template
>
<Dialog
:title=
"dialogTitle"
v-model=
"dialogVisible"
width=
"50%"
>
<el-descriptions
:column=
"2"
label-class-name=
"desc-label"
>
<el-descriptions-item
label=
"商户名称"
>
{{
refundDetail
.
merchantName
}}
</el-descriptions-item>
<el-descriptions-item
label=
"应用名称"
>
{{
refundDetail
.
appName
}}
</el-descriptions-item>
<el-descriptions-item
label=
"商品名称"
>
{{
refundDetail
.
subject
}}
</el-descriptions-item>
</el-descriptions>
<el-divider
/>
<el-descriptions
:column=
"2"
label-class-name=
"desc-label"
>
<el-descriptions-item
label=
"商户退款单号"
>
<el-tag
size=
"small"
>
{{
refundDetail
.
merchantRefundNo
}}
</el-tag>
</el-descriptions-item>
<el-descriptions-item
label=
"商户订单号"
>
{{
refundDetail
.
merchantOrderId
}}
</el-descriptions-item>
<el-descriptions-item
label=
"交易订单号"
>
{{
refundDetail
.
tradeNo
}}
</el-descriptions-item>
</el-descriptions>
<el-divider
/>
<el-descriptions
:column=
"2"
label-class-name=
"desc-label"
>
<el-descriptions-item
label=
"支付金额"
>
{{
parseFloat
(
refundDetail
.
payAmount
/
100
).
toFixed
(
2
)
}}
</el-descriptions-item>
<el-descriptions-item
label=
"退款金额"
size=
"small"
>
<el-tag
class=
"tag-purple"
size=
"small"
>
{{
parseFloat
(
refundDetail
.
refundAmount
/
100
).
toFixed
(
2
)
}}
</el-tag>
</el-descriptions-item>
<el-descriptions-item
label=
"退款类型"
>
<dict-tag
:type=
"DICT_TYPE.PAY_REFUND_ORDER_TYPE"
:value=
"refundDetail.type"
/>
</el-descriptions-item>
<el-descriptions-item
label=
"退款状态"
>
<dict-tag
:type=
"DICT_TYPE.PAY_REFUND_ORDER_STATUS"
:value=
"refundDetail.status"
/>
</el-descriptions-item>
<el-descriptions-item
label=
"创建时间"
>
{{
formatDate
(
refundDetail
.
createTime
)
}}
</el-descriptions-item>
<el-descriptions-item
label=
"退款成功时间"
>
{{
formatDate
(
refundDetail
.
successTime
)
}}
</el-descriptions-item>
<el-descriptions-item
label=
"退款失效时间"
>
{{
formatDate
(
refundDetail
.
expireTime
)
}}
</el-descriptions-item>
<el-descriptions-item
label=
"更新时间"
>
{{
formatDate
(
refundDetail
.
updateTime
)
}}
</el-descriptions-item>
</el-descriptions>
<el-divider
/>
<el-descriptions
:column=
"2"
label-class-name=
"desc-label"
>
<el-descriptions-item
label=
"支付渠道"
>
{{
refundDetail
.
channelCodeName
}}
</el-descriptions-item>
<el-descriptions-item
label=
"支付IP"
size=
"small"
>
{{
refundDetail
.
userIp
}}
</el-descriptions-item>
<el-descriptions-item
label=
"回调地址"
>
{{
refundDetail
.
notifyUrl
}}
</el-descriptions-item>
<el-descriptions-item
label=
"回调状态"
>
<dict-tag
:type=
"DICT_TYPE.PAY_ORDER_NOTIFY_STATUS"
:value=
"refundDetail.notifyStatus"
/>
</el-descriptions-item>
<el-descriptions-item
label=
"回调时间"
>
{{
formatDate
(
refundDetail
.
notifyTime
)
}}
</el-descriptions-item>
</el-descriptions>
<el-divider
/>
<el-descriptions
:column=
"2"
label-class-name=
"desc-label"
>
<el-descriptions-item
label=
"渠道订单号"
>
{{
refundDetail
.
channelOrderNo
}}
</el-descriptions-item>
<el-descriptions-item
label=
"渠道退款单号"
>
{{
refundDetail
.
channelRefundNo
}}
</el-descriptions-item>
<el-descriptions-item
label=
"渠道错误码"
>
{{
refundDetail
.
channelErrorCode
}}
</el-descriptions-item>
<el-descriptions-item
label=
"渠道错误码描述"
>
{{
refundDetail
.
channelErrorMsg
}}
</el-descriptions-item>
</el-descriptions>
<br
/>
<el-descriptions
:column=
"1"
label-class-name=
"desc-label"
direction=
"vertical"
border
>
<el-descriptions-item
label=
"渠道额外参数"
>
{{
refundDetail
.
channelExtras
}}
</el-descriptions-item>
<el-descriptions-item
label=
"退款原因"
>
{{
refundDetail
.
reason
}}
</el-descriptions-item>
</el-descriptions>
</Dialog>
</
template
>
<
script
setup
lang=
"ts"
name=
"refundForm"
>
import
{
DICT_TYPE
}
from
'@/utils/dict'
import
*
as
RefundApi
from
'@/api/pay/refund'
import
{
formatDate
}
from
'@/utils/formatTime'
const
{
t
}
=
useI18n
()
// 国际化
// const message = useMessage() // 消息弹窗
const
dialogVisible
=
ref
(
false
)
// 弹窗的是否展示
const
dialogTitle
=
ref
(
'退款订单详情'
)
// 弹窗的标题
const
formLoading
=
ref
(
false
)
// 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
const
defaultrefundDetail
=
{
id
:
null
,
appId
:
null
,
appName
:
''
,
channelCode
:
''
,
channelCodeName
:
''
,
channelErrorCode
:
''
,
channelErrorMsg
:
''
,
channelExtras
:
''
,
channelId
:
null
,
channelOrderNo
:
''
,
channelRefundNo
:
''
,
createTime
:
null
,
expireTime
:
null
,
merchantId
:
null
,
merchantName
:
''
,
merchantOrderId
:
''
,
merchantRefundNo
:
''
,
notifyStatus
:
null
,
notifyTime
:
null
,
notifyUrl
:
''
,
orderId
:
null
,
payAmount
:
null
,
reason
:
''
,
refundAmount
:
null
,
status
:
null
,
subject
:
''
,
successTime
:
null
,
tradeNo
:
''
,
type
:
null
,
userIp
:
''
}
const
refundDetail
=
ref
(
JSON
.
parse
(
JSON
.
stringify
(
defaultrefundDetail
)))
/** 打开弹窗 */
const
open
=
async
(
id
?:
number
)
=>
{
dialogVisible
.
value
=
true
dialogTitle
.
value
=
t
(
'action.preview'
)
// 修改时,设置数据
if
(
id
)
{
formLoading
.
value
=
true
try
{
refundDetail
.
value
=
await
RefundApi
.
getRefundApi
(
id
)
}
finally
{
formLoading
.
value
=
false
}
}
}
defineExpose
({
open
})
// 提供 open 方法,用于打开弹窗
</
script
>
<
style
>
.tag-purple
{
color
:
#722ed1
;
background
:
#f9f0ff
;
border-color
:
#d3adf7
;
}
</
style
>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment