zhengyiming
2 天以前 e0cb82c8dbf83fabc0cab548abc873926366fb75
packages/components/src/views/Order/components/ElectricOrder.vue
@@ -1,24 +1,92 @@
<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="'2025-02-19  17:15:54'" />
    <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"
        :frontStatus="item?.frontStatus"
        :order-no="item?.orderNo"
        :id="item?.id"
        @goApplyRefund="emit('goApplyRefund', $event)"
        @goRefundDetail="emit('goRefundDetail', $event)"
      >
        <OrderCardItem
          label="充值地区:"
          :value="`${JSON.parse(item?.orderParamDetailJsonStr)?.Province ?? ''} ${
            JSON.parse(item?.orderParamDetailJsonStr)?.City ?? ''
          }`"
        />
        <OrderCardItem
          label="充值户号:"
          :value="JSON.parse(item?.orderParamDetailJsonStr)?.ElectricAccount"
        />
        <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="110px"
          :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 { BlLifeRecharge } from '@life-payment/core-vue';
import dayjs from 'dayjs';
import { toThousand, convertOrderFrontStatus } from '../../../utils';
defineOptions({
  name: 'ElectricOrder',
@@ -28,7 +96,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>