From ea408eac6343066edcd8ca18117794442b64b545 Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期三, 21 五月 2025 17:16:39 +0800 Subject: [PATCH] feat: UI --- packages/components/src/components/Card/OrderCard.vue | 64 ++++++++++++++++++++------------ 1 files changed, 40 insertions(+), 24 deletions(-) diff --git a/packages/components/src/components/Card/OrderCard.vue b/packages/components/src/components/Card/OrderCard.vue index c3cbc55..cda4af0 100644 --- a/packages/components/src/components/Card/OrderCard.vue +++ b/packages/components/src/components/Card/OrderCard.vue @@ -1,42 +1,40 @@ <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.LifePayOrderFrontStatusEnumText[status] }} + <div class="order-card-title-left"> + <div class="order-card-title-text-wrapper"> + <div class="order-card-title-text">{{ title }}</div> + <div class="order-card-title-status"> + <img :src="LifePayOrderStatusEnumImg[status]" alt="" /> + </div> </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.LifePayOrderFrontStatusEnum.鏀粯鎴愬姛" - @click="emit('goApplyRefund', orderNo)" - > - 鐢宠閫�娆� - </div> - <div - class="order-card-action" - v-if="status === LifeRechargeConstants.LifePayOrderFrontStatusEnum.閫�娆惧け璐�" - @click="emit('goRefundDetail', orderNo)" - > - 璇︽儏 - </div> - </slot> </div> </div> <div class="order-card-content"> <slot></slot> </div> + <slot name="actions"> + <div class="order-card-footer"> + <div + v-if="status === LifeRechargeConstants.LifePayOrderStatusEnum.鍏呭�间腑" + class="order-card-action" + @click="emit('goApplyRefund', id)" + > + 鐢宠閫�娆� + </div> + <div class="order-card-action" @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', @@ -44,14 +42,32 @@ type Props = { title: string; - status: LifeRechargeConstants.LifePayOrderFrontStatusEnum; + status?: LifeRechargeConstants.LifePayOrderStatusEnum; orderNo: string; + id: string; }; const props = withDefaults(defineProps<Props>(), {}); const emit = defineEmits<{ - (e: 'goApplyRefund', orderNo: string): void; + (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 showFooter = computed(() => { + return ( + props.status === LifeRechargeConstants.LifePayOrderStatusEnum.鍏呭�间腑 || + props.status === LifeRechargeConstants.LifePayOrderStatusEnum.閫�娆惧け璐� + ); +}); </script> -- Gitblit v1.9.1