<template>
|
<div class="order-card">
|
<div class="order-card-title">
|
<div class="order-card-title-top">
|
<div class="order-card-title-text">{{ title }}</div>
|
<div class="order-card-title-status">
|
{{ LifeRechargeConstants.LifePayOrderStatusEnumText[status] }}
|
</div>
|
</div>
|
<div class="order-card-title-ordernum-wrapper">
|
<div class="order-card-title-ordernum">
|
{{ `订单编号:${orderNo}` }}
|
</div>
|
<slot name="actions">
|
<div
|
class="order-card-action"
|
v-if="status === LifeRechargeConstants.LifePayOrderStatusEnum.充值中"
|
@click="emit('goApplyRefund', id)"
|
>
|
申请退款
|
</div>
|
<div
|
class="order-card-action"
|
v-if="status === LifeRechargeConstants.LifePayOrderStatusEnum.退款失败"
|
@click="emit('goRefundDetail', orderNo)"
|
>
|
详情
|
</div>
|
</slot>
|
</div>
|
</div>
|
<div class="order-card-content">
|
<slot></slot>
|
</div>
|
</div>
|
</template>
|
|
<script setup lang="ts">
|
import { LifeRechargeConstants } from '@life-payment/core-vue';
|
|
defineOptions({
|
name: 'OrderCard',
|
});
|
|
type Props = {
|
title: string;
|
status?: LifeRechargeConstants.LifePayOrderStatusEnum;
|
orderNo: string;
|
id: string;
|
};
|
|
const props = withDefaults(defineProps<Props>(), {});
|
|
const emit = defineEmits<{
|
(e: 'goApplyRefund', id: string): void;
|
(e: 'goRefundDetail', orderNo: string): void;
|
}>();
|
</script>
|