zhengyiming
2 天以前 a0d334f6a2dd329af28bc393e9e0c9a3625fc6ff
packages/components/src/views/Order/components/PhoneOrder.vue
@@ -1,23 +1,83 @@
<template>
  <!-- <InfiniteLoading scrollViewClassName="common-infinite-scroll-list" v-bind="infiniteLoadingProps">
    <template #renderItem="{ item }"> -->
  <OrderCard title="话费充值" status="待支付">
    <OrderCardItem label="充值账号:" :value="'18888888888'" />
    <OrderCardItem label="下单时间:" :value="'18888888888'" />
    <OrderCardItem label="充值金额:" :value="'18888888888'" />
    <OrderCardItem label="优惠金额:" :value="'18888888888'" />
    <OrderCardItem label="实付金额:" :value="'18888888888'" />
    <OrderCardItem label="支付时间:" :value="'2025-02-19  17:15:54'" />
    <OrderCardItem label="完成时间:" :value="'2025-02-19  17:15:54'" />
  </OrderCard>
  <!-- </template>
  </InfiniteLoading> -->
  <InfiniteLoading
    scrollViewClassName="life-page-infinite-scroll-list"
    v-bind="infiniteLoadingProps"
  >
    <template #renderItem="{ item }">
      <OrderCard
        title="话费充值"
        :status="item?.lifePayOrderStatus"
        :order-no="item?.orderNo"
        :id="item?.id"
        @goApplyRefund="emit('goApplyRefund', $event)"
        @goRefundDetail="emit('goRefundDetail', $event)"
      >
        <OrderCardItem
          label="充值账号:"
          :value="JSON.parse(item?.orderParamDetailJsonStr)?.phone"
        />
        <OrderCardItem
          label="下单时间:"
          :value="item?.creationTime && dayjs(item?.creationTime).format('YYYY-MM-DD HH:mm:ss')"
        />
        <template
          v-if="
            item.frontStatus === BlLifeRecharge.constants.LifePayOrderFrontStatusEnum.充值成功 ||
            item.frontStatus === BlLifeRecharge.constants.LifePayOrderFrontStatusEnum.支付成功
          "
        >
          <OrderCardItem
            label="充值金额:"
            :value="`¥${toThousand(item?.rechargeAmount)}`"
            danger
          />
          <OrderCardItem label="优惠金额:" :value="`¥${toThousand(item?.discountAmount)}`" />
        </template>
        <OrderCardItem label="实付金额:" :value="`¥${toThousand(item?.payAmount)}`" danger />
        <OrderCardItem
          label="支付时间:"
          :value="item?.payTime && dayjs(item?.payTime).format('YYYY-MM-DD HH:mm:ss')"
        />
        <OrderCardItem
          v-if="
            item.frontStatus === BlLifeRecharge.constants.LifePayOrderFrontStatusEnum.充值成功 ||
            item.frontStatus === BlLifeRecharge.constants.LifePayOrderFrontStatusEnum.支付成功
          "
          label="完成时间:"
          :value="item?.finishTime && dayjs(item?.finishTime).format('YYYY-MM-DD HH:mm:ss')"
        />
        <OrderCardItem
          v-else-if="
            item.frontStatus === BlLifeRecharge.constants.LifePayOrderFrontStatusEnum.退款待审核 ||
            item.frontStatus === BlLifeRecharge.constants.LifePayOrderFrontStatusEnum.退款失败
          "
          label="退款发起时间:"
          :labelWidth="200"
          :value="
            item?.refundApplyTime && dayjs(item?.refundApplyTime).format('YYYY-MM-DD HH:mm:ss')
          "
        />
        <template v-else>
          <OrderCardItem label="退款金额:" :value="`¥${toThousand(item?.payAmount)}`" danger />
          <OrderCardItem
            label="退款时间:"
            :value="item?.refundTime && dayjs(item?.refundTime).format('YYYY-MM-DD HH:mm:ss')"
          >
          </OrderCardItem>
        </template>
      </OrderCard>
    </template>
  </InfiniteLoading>
</template>
<script setup lang="ts">
import InfiniteLoading from '../../../components/InfiniteLoading/InfiniteLoading.vue';
import OrderCard from '../../../components/Card/OrderCard.vue';
import OrderCardItem from '../../../components/Card/OrderCardItem.vue';
import { useGetUserLifePayOrderPage } from '../../../hooks';
import dayjs from 'dayjs';
import { BlLifeRecharge } from '@life-payment/core-vue';
import { toThousand, convertOrderFrontStatus } from '../../../utils';
defineOptions({
  name: 'PhoneOrder',
@@ -27,7 +87,12 @@
// const props = withDefaults(defineProps<Props>(), {});
const infiniteLoadingProps = {};
</script>
const emit = defineEmits<{
  (e: 'goApplyRefund', id: string): void;
  (e: 'goRefundDetail', orderNo: string): void;
}>();
<style lang="scss"></style>
const { infiniteLoadingProps } = useGetUserLifePayOrderPage({
  lifePayOrderType: BlLifeRecharge.constants.LifePayOrderTypeEnum.话费订单,
});
</script>