| | |
| | | <template> |
| | | <div class="order-card"> |
| | | <div class="order-card-title"> |
| | | <div class="order-card-title-top"> |
| | | <div class="order-card-title-left"> |
| | | <div class="order-card-title-text">{{ title }}</div> |
| | | <div class="order-card-title-status">{{ status }}</div> |
| | | <div class="order-card-title-ordernum"> |
| | | {{ `订单编号:${orderNo}` }} |
| | | </div> |
| | | </div> |
| | | <div class="order-card-title-ordernum"> |
| | | {{ `订单编号:${orderNo}` }} |
| | | <div class="order-card-title-status"> |
| | | <img :src="LifePayOrderStatusEnumImg[status]" alt="" /> |
| | | </div> |
| | | </div> |
| | | <div class="order-card-content"> |
| | | <slot></slot> |
| | | </div> |
| | | <slot name="actions"> |
| | | <div class="order-card-footer" v-if="shoeFooter"> |
| | | <div |
| | | v-if="status === LifeRechargeConstants.LifePayOrderStatusEnum.充值中" |
| | | class="order-card-action" |
| | | @click="emit('goApplyRefund', id)" |
| | | > |
| | | 申请退款 |
| | | </div> |
| | | <div |
| | | class="order-card-action" |
| | | v-if="status === LifeRechargeConstants.LifePayOrderStatusEnum.退款失败" |
| | | @click="emit('goRefundDetail', orderNo)" |
| | | > |
| | | 详情 |
| | | </div> |
| | | </div> |
| | | </slot> |
| | | </div> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import { LifeRechargeConstants } from '@life-payment/core-vue'; |
| | | import { OssAssets } from '../../constants'; |
| | | import { computed } from 'vue'; |
| | | |
| | | defineOptions({ |
| | | name: 'OrderCard', |
| | | }); |
| | | |
| | | type Props = { |
| | | title: string; |
| | | status: 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; |
| | | }>(); |
| | | |
| | | const LifePayOrderStatusEnumImg = { |
| | | [LifeRechargeConstants.LifePayOrderStatusEnum.充值中]: OssAssets.card.Recharge, |
| | | [LifeRechargeConstants.LifePayOrderStatusEnum.已失败]: OssAssets.card.Failed, |
| | | [LifeRechargeConstants.LifePayOrderStatusEnum.已完成]: OssAssets.card.Success, |
| | | [LifeRechargeConstants.LifePayOrderStatusEnum.待退款]: OssAssets.card.WaitRefund, |
| | | [LifeRechargeConstants.LifePayOrderStatusEnum.已退款]: OssAssets.card.Refunded, |
| | | [LifeRechargeConstants.LifePayOrderStatusEnum.退款失败]: OssAssets.card.RefundFail, |
| | | [LifeRechargeConstants.LifePayOrderStatusEnum.退款中]: OssAssets.card.Refund, |
| | | }; |
| | | |
| | | const shoeFooter = computed(() => { |
| | | return ( |
| | | props.status === LifeRechargeConstants.LifePayOrderStatusEnum.充值中 || |
| | | props.status === LifeRechargeConstants.LifePayOrderStatusEnum.退款失败 |
| | | ); |
| | | }); |
| | | </script> |