支付退款列表的 review

This commit is contained in:
YunaiV 2023-08-13 11:02:12 +08:00
parent 3f90ca3a57
commit c3a8479eca
3 changed files with 22 additions and 52 deletions

View File

@ -7,17 +7,14 @@
<el-descriptions-item label="支付单号"> <el-descriptions-item label="支付单号">
<el-tag type="warning" size="small" v-if="detailData.no">{{ detailData.no }}</el-tag> <el-tag type="warning" size="small" v-if="detailData.no">{{ detailData.no }}</el-tag>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="应用编号">{{ detailData.appId }}</el-descriptions-item> <el-descriptions-item label="应用编号">{{ detailData.appId }}</el-descriptions-item>
<el-descriptions-item label="应用名称">{{ detailData.appName }}</el-descriptions-item> <el-descriptions-item label="应用名称">{{ detailData.appName }}</el-descriptions-item>
<el-descriptions-item label="支付状态"> <el-descriptions-item label="支付状态">
<dict-tag :type="DICT_TYPE.PAY_ORDER_STATUS" :value="detailData.status" size="small" /> <dict-tag :type="DICT_TYPE.PAY_ORDER_STATUS" :value="detailData.status" size="small" />
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="支付金额"> <el-descriptions-item label="支付金额">
<el-tag type="success" size="small">{{ (detailData.price / 100.0).toFixed(2) }}</el-tag> <el-tag type="success" size="small">{{ (detailData.price / 100.0).toFixed(2) }}</el-tag>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="手续费"> <el-descriptions-item label="手续费">
<el-tag type="warning" size="small"> <el-tag type="warning" size="small">
{{ (detailData.channelFeePrice / 100.0).toFixed(2) }} {{ (detailData.channelFeePrice / 100.0).toFixed(2) }}
@ -26,14 +23,12 @@
<el-descriptions-item label="手续费比例"> <el-descriptions-item label="手续费比例">
{{ (detailData.channelFeeRate / 100.0).toFixed(2) }}% {{ (detailData.channelFeeRate / 100.0).toFixed(2) }}%
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="支付时间"> <el-descriptions-item label="支付时间">
{{ formatDate(detailData.successTime) }} {{ formatDate(detailData.successTime) }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="失效时间"> <el-descriptions-item label="失效时间">
{{ formatDate(detailData.expireTime) }} {{ formatDate(detailData.expireTime) }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="创建时间"> <el-descriptions-item label="创建时间">
{{ formatDate(detailData.createTime) }} {{ formatDate(detailData.createTime) }}
</el-descriptions-item> </el-descriptions-item>
@ -41,26 +36,21 @@
{{ formatDate(detailData.updateTime) }} {{ formatDate(detailData.updateTime) }}
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
<!-- 分割线 --> <!-- 分割线 -->
<el-divider /> <el-divider />
<el-descriptions :column="2" label-class-name="desc-label"> <el-descriptions :column="2" label-class-name="desc-label">
<el-descriptions-item label="商品标题">{{ detailData.subject }}</el-descriptions-item> <el-descriptions-item label="商品标题">{{ detailData.subject }}</el-descriptions-item>
<el-descriptions-item label="商品描述">{{ detailData.body }}</el-descriptions-item> <el-descriptions-item label="商品描述">{{ detailData.body }}</el-descriptions-item>
<el-descriptions-item label="支付渠道"> <el-descriptions-item label="支付渠道">
<dict-tag :type="DICT_TYPE.PAY_CHANNEL_CODE" :value="detailData.channelCode" /> <dict-tag :type="DICT_TYPE.PAY_CHANNEL_CODE" :value="detailData.channelCode" />
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="支付 IP">{{ detailData.userIp }}</el-descriptions-item> <el-descriptions-item label="支付 IP">{{ detailData.userIp }}</el-descriptions-item>
<el-descriptions-item label="渠道单号"> <el-descriptions-item label="渠道单号">
<el-tag size="mini" type="success" v-if="detailData.channelOrderNo"> <el-tag size="mini" type="success" v-if="detailData.channelOrderNo">
{{ detailData.channelOrderNo }} {{ detailData.channelOrderNo }}
</el-tag> </el-tag>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="渠道用户">{{ detailData.channelUserId }}</el-descriptions-item> <el-descriptions-item label="渠道用户">{{ detailData.channelUserId }}</el-descriptions-item>
<el-descriptions-item label="退款金额"> <el-descriptions-item label="退款金额">
<el-tag size="mini" type="danger"> <el-tag size="mini" type="danger">
{{ (detailData.refundPrice / 100.0).toFixed(2) }} {{ (detailData.refundPrice / 100.0).toFixed(2) }}
@ -68,10 +58,8 @@
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="通知 URL">{{ detailData.notifyUrl }}</el-descriptions-item> <el-descriptions-item label="通知 URL">{{ detailData.notifyUrl }}</el-descriptions-item>
</el-descriptions> </el-descriptions>
<!-- 分割线 --> <!-- 分割线 -->
<el-divider /> <el-divider />
<el-descriptions :column="1" label-class-name="desc-label" direction="vertical" border> <el-descriptions :column="1" label-class-name="desc-label" direction="vertical" border>
<el-descriptions-item label="支付通道异步回调内容"> <el-descriptions-item label="支付通道异步回调内容">
{{ detailData.extension.channelNotifyData }} {{ detailData.extension.channelNotifyData }}

View File

@ -9,68 +9,57 @@
refundDetail.channelRefundNo refundDetail.channelRefundNo
}}</el-tag> }}</el-tag>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="商户支付单号"> <el-descriptions-item label="商户支付单号">
<el-tag size="small">{{ refundDetail.merchantOrderId }}</el-tag> <el-tag size="small">{{ refundDetail.merchantOrderId }}</el-tag>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="渠道支付单号"> <el-descriptions-item label="渠道支付单号">
<el-tag type="success" size="small">{{ refundDetail.channelOrderNo }}</el-tag> <el-tag type="success" size="small">{{ refundDetail.channelOrderNo }}</el-tag>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="应用编号">{{ refundDetail.appId }}</el-descriptions-item> <el-descriptions-item label="应用编号">{{ refundDetail.appId }}</el-descriptions-item>
<el-descriptions-item label="应用名称">{{ refundDetail.appName }}</el-descriptions-item> <el-descriptions-item label="应用名称">{{ refundDetail.appName }}</el-descriptions-item>
<el-descriptions-item label="支付金额"> <el-descriptions-item label="支付金额">
<el-tag type="success" size="small" <el-tag type="success" size="small">
>{{ (refundDetail.payPrice / 100.0).toFixed(2) }}</el-tag {{ (refundDetail.payPrice / 100.0).toFixed(2) }}
> </el-tag>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="退款金额"> <el-descriptions-item label="退款金额">
<el-tag size="mini" type="danger" <el-tag size="mini" type="danger">
>{{ (refundDetail.refundPrice / 100.0).toFixed(2) }}</el-tag {{ (refundDetail.refundPrice / 100.0).toFixed(2) }}
> </el-tag>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="退款状态"> <el-descriptions-item label="退款状态">
<dict-tag :type="DICT_TYPE.PAY_REFUND_STATUS" :value="refundDetail.status" /> <dict-tag :type="DICT_TYPE.PAY_REFUND_STATUS" :value="refundDetail.status" />
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="退款时间">{{ <el-descriptions-item label="退款时间">
formatDate(refundDetail.successTime) {{ formatDate(refundDetail.successTime) }}
}}</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="创建时间">
<el-descriptions-item label="创建时间">{{ {{ formatDate(refundDetail.createTime) }}
formatDate(refundDetail.createTime) </el-descriptions-item>
}}</el-descriptions-item> <el-descriptions-item label="更新时间">
<el-descriptions-item label="更新时间">{{ {{ formatDate(refundDetail.updateTime) }}
formatDate(refundDetail.updateTime) </el-descriptions-item>
}}</el-descriptions-item>
</el-descriptions> </el-descriptions>
<!-- 分割线 --> <!-- 分割线 -->
<el-divider /> <el-divider />
<el-descriptions :column="2" label-class-name="desc-label"> <el-descriptions :column="2" label-class-name="desc-label">
<el-descriptions-item label="退款渠道"> <el-descriptions-item label="退款渠道">
<dict-tag :type="DICT_TYPE.PAY_CHANNEL_CODE" :value="refundDetail.channelCode" /> <dict-tag :type="DICT_TYPE.PAY_CHANNEL_CODE" :value="refundDetail.channelCode" />
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="退款原因">{{ refundDetail.reason }}</el-descriptions-item> <el-descriptions-item label="退款原因">{{ refundDetail.reason }}</el-descriptions-item>
<el-descriptions-item label="退款 IP">{{ refundDetail.userIp }}</el-descriptions-item> <el-descriptions-item label="退款 IP">{{ refundDetail.userIp }}</el-descriptions-item>
<el-descriptions-item label="通知 URL">{{ refundDetail.notifyUrl }}</el-descriptions-item> <el-descriptions-item label="通知 URL">{{ refundDetail.notifyUrl }}</el-descriptions-item>
</el-descriptions> </el-descriptions>
<!-- 分割线 --> <!-- 分割线 -->
<el-divider /> <el-divider />
<el-descriptions :column="2" label-class-name="desc-label"> <el-descriptions :column="2" label-class-name="desc-label">
<el-descriptions-item label="渠道错误码">{{ <el-descriptions-item label="渠道错误码">
refundDetail.channelErrorCode {{ refundDetail.channelErrorCode }}
}}</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="渠道错误码描述">{{ <el-descriptions-item label="渠道错误码描述">
refundDetail.channelErrorMsg {{ refundDetail.channelErrorMsg }}
}}</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
<el-descriptions :column="1" label-class-name="desc-label" direction="vertical" border> <el-descriptions :column="1" label-class-name="desc-label" direction="vertical" border>
<el-descriptions-item label="支付通道异步回调内容"> <el-descriptions-item label="支付通道异步回调内容">
{{ refundDetail.channelNotifyData }} {{ refundDetail.channelNotifyData }}
@ -102,10 +91,3 @@ const open = async (id: number) => {
} }
defineExpose({ open }) // open defineExpose({ open }) // open
</script> </script>
<style>
.tag-purple {
color: #722ed1;
background: #f9f0ff;
border-color: #d3adf7;
}
</style>

View File

@ -113,6 +113,7 @@
</el-form> </el-form>
</ContentWrap> </ContentWrap>
<!-- 列表 -->
<ContentWrap> <ContentWrap>
<el-table v-loading="loading" :data="list"> <el-table v-loading="loading" :data="list">
<el-table-column label="编号" align="center" prop="id" /> <el-table-column label="编号" align="center" prop="id" />
@ -289,7 +290,6 @@ onMounted(async () => {
appList.value = await AppApi.getAppList() appList.value = await AppApi.getAppList()
}) })
</script> </script>
<style> <style>
.order-font { .order-font {
padding: 2px 0; padding: 2px 0;