From a1d7e81859f554f3a53680cc35f0f49bf1f77098 Mon Sep 17 00:00:00 2001
From: wwf <1971391498@qq.com>
Date: 星期四, 14 五月 2026 14:37:02 +0800
Subject: [PATCH] 导入项目
---
src/views/pay/order/OrderDetail.vue | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 113 insertions(+), 0 deletions(-)
diff --git a/src/views/pay/order/OrderDetail.vue b/src/views/pay/order/OrderDetail.vue
new file mode 100644
index 0000000..90d4ccb
--- /dev/null
+++ b/src/views/pay/order/OrderDetail.vue
@@ -0,0 +1,113 @@
+<template>
+ <Dialog v-model="dialogVisible" title="璁㈠崟璇︽儏" width="700px">
+ <el-descriptions :column="2" label-class-name="desc-label">
+ <el-descriptions-item label="鍟嗘埛鍗曞彿">
+ <el-tag size="small">{{ detailData.merchantOrderId }}</el-tag>
+ </el-descriptions-item>
+ <el-descriptions-item label="鏀粯鍗曞彿">
+ <el-tag type="warning" size="small" v-if="detailData.no">{{ detailData.no }}</el-tag>
+ </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="鏀粯鐘舵��">
+ <dict-tag :type="DICT_TYPE.PAY_ORDER_STATUS" :value="detailData.status" size="small" />
+ </el-descriptions-item>
+ <el-descriptions-item label="鏀粯閲戦">
+ <el-tag type="success" size="small">锟{ (detailData.price / 100.0).toFixed(2) }}</el-tag>
+ </el-descriptions-item>
+ <el-descriptions-item label="鎵嬬画璐�">
+ <el-tag type="warning" size="small">
+ 锟{ (detailData.channelFeePrice / 100.0).toFixed(2) }}
+ </el-tag>
+ </el-descriptions-item>
+ <el-descriptions-item label="鎵嬬画璐规瘮渚�">
+ {{ detailData.channelFeeRate.toFixed(2) }}%
+ </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.createTime) }}
+ </el-descriptions-item>
+ <el-descriptions-item label="鏇存柊鏃堕棿">
+ {{ formatDate(detailData.updateTime) }}
+ </el-descriptions-item>
+ </el-descriptions>
+ <!-- 鍒嗗壊绾� -->
+ <el-divider />
+ <el-descriptions :column="2" label-class-name="desc-label">
+ <el-descriptions-item label="鍟嗗搧鏍囬">{{ detailData.subject }}</el-descriptions-item>
+ <el-descriptions-item label="鍟嗗搧鎻忚堪">{{ detailData.body }}</el-descriptions-item>
+ <el-descriptions-item label="鏀粯娓犻亾">
+ <dict-tag :type="DICT_TYPE.PAY_CHANNEL_CODE" :value="detailData.channelCode" />
+ </el-descriptions-item>
+ <el-descriptions-item label="鏀粯 IP">{{ detailData.userIp }}</el-descriptions-item>
+ <el-descriptions-item label="娓犻亾鍗曞彿">
+ <el-tag size="mini" type="success" v-if="detailData.channelOrderNo">
+ {{ detailData.channelOrderNo }}
+ </el-tag>
+ </el-descriptions-item>
+ <el-descriptions-item label="娓犻亾鐢ㄦ埛">{{ detailData.channelUserId }}</el-descriptions-item>
+ <el-descriptions-item label="閫�娆鹃噾棰�">
+ <el-tag size="mini" type="danger">
+ 锟{ (detailData.refundPrice / 100.0).toFixed(2) }}
+ </el-tag>
+ </el-descriptions-item>
+ <el-descriptions-item label="閫氱煡 URL">{{ detailData.notifyUrl }}</el-descriptions-item>
+ </el-descriptions>
+ <!-- 鍒嗗壊绾� -->
+ <el-divider />
+ <el-descriptions :column="1" label-class-name="desc-label" direction="vertical" border>
+ <el-descriptions-item label="鏀粯閫氶亾寮傛鍥炶皟鍐呭">
+ <el-text style="white-space: pre-wrap; word-break: break-word">
+ {{ detailData.extension.channelNotifyData }}
+ </el-text>
+ </el-descriptions-item>
+ </el-descriptions>
+ </Dialog>
+</template>
+<script lang="ts" setup>
+import { DICT_TYPE } from '@/utils/dict'
+import * as OrderApi from '@/api/pay/order'
+import { formatDate } from '@/utils/formatTime'
+
+defineOptions({ name: 'PayOrderDetail' })
+
+const dialogVisible = ref(false) // 寮圭獥鐨勬槸鍚﹀睍绀�
+const detailLoading = ref(false) // 琛ㄥ崟鐨勫姞杞戒腑
+const detailData = ref({
+ extension: {}
+})
+
+/** 鎵撳紑寮圭獥 */
+const open = async (id: number) => {
+ dialogVisible.value = true
+ // 璁剧疆鏁版嵁
+ detailLoading.value = true
+ try {
+ detailData.value = await OrderApi.getOrderDetail(id)
+ if (!detailData.value.extension) {
+ detailData.value.extension = {}
+ }
+ } finally {
+ detailLoading.value = false
+ }
+}
+defineExpose({ open }) // 鎻愪緵 open 鏂规硶锛岀敤浜庢墦寮�寮圭獥
+</script>
+<style>
+.tag-purple {
+ color: #722ed1;
+ background: #f9f0ff;
+ border-color: #d3adf7;
+}
+
+.tag-pink {
+ color: #eb2f96;
+ background: #fff0f6;
+ border-color: #ffadd2;
+}
+</style>
--
Gitblit v1.8.0