From 80dc90be027ee26869c63860b7d6a0759a03546b Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期二, 20 五月 2025 17:33:53 +0800 Subject: [PATCH] fix: 修改首页ui --- packages/components/src/components/Card/OrderCard.vue | 88 ++++++++++++++++++++++++++----------------- 1 files changed, 53 insertions(+), 35 deletions(-) diff --git a/packages/components/src/components/Card/OrderCard.vue b/packages/components/src/components/Card/OrderCard.vue index 14ed16e..d8f2a47 100644 --- a/packages/components/src/components/Card/OrderCard.vue +++ b/packages/components/src/components/Card/OrderCard.vue @@ -1,59 +1,77 @@ <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"> - {{ `璁㈠崟缂栧彿锛�${'JF202502191515350002'}` }} + <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> -<style lang="scss"> -.order-card { - border: 1px solid #e8e8e8; - border-radius: 12px; - padding: 20px; - - .order-card-title { - display: flex; - flex-direction: column; - border-bottom: 1px solid #e8e8e8; - padding-bottom: 20px; - margin-bottom: 20px; - - .order-card-title-top { - display: flex; - justify-content: space-between; - color: #333333; - font-size: 28px; - line-height: 40px; - font-weight: 600; - margin-bottom: 12px; - } - - .order-card-title-ordernum { - font-size: 24px; - color: #999999; - } - } -} -</style> -- Gitblit v1.9.1