From fe5fc18b6b1810a61df6ed7d94957f449ca05488 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期一, 24 二月 2025 13:13:06 +0800
Subject: [PATCH] feat: 订单
---
packages/components/src/views/electricBillRecharge/electricBillRecharge.vue | 11 --
packages/components/src/components/Card/OrderCardItem.vue | 19 ----
packages/components/src/components/NoData/NoData.vue | 2
packages/components/src/components/Card/OrderCard.vue | 33 -------
packages/components/src/styles/orderCard.scss | 45 +++++++++++
packages/components/src/views/Order/components/ElectricOrder.vue | 46 +++++++----
packages/services/api/typings.d.ts | 12 +-
packages/components/src/views/Order/components/PhoneOrder.vue | 24 ++++-
packages/components/src/styles/index.scss | 1
packages/services/api/AliPayNotify.ts | 32 ++++----
packages/components/src/styles/rechargeGrid.scss | 8 ++
11 files changed, 126 insertions(+), 107 deletions(-)
diff --git a/packages/components/src/components/Card/OrderCard.vue b/packages/components/src/components/Card/OrderCard.vue
index 14ed16e..d8a2e32 100644
--- a/packages/components/src/components/Card/OrderCard.vue
+++ b/packages/components/src/components/Card/OrderCard.vue
@@ -6,7 +6,7 @@
<div class="order-card-title-status">{{ status }}</div>
</div>
<div class="order-card-title-ordernum">
- {{ `璁㈠崟缂栧彿锛�${'JF202502191515350002'}` }}
+ {{ `璁㈠崟缂栧彿锛�${orderNo}` }}
</div>
</div>
<div class="order-card-content">
@@ -23,37 +23,8 @@
type Props = {
title: string;
status: string;
+ orderNo: string;
};
const props = withDefaults(defineProps<Props>(), {});
</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>
diff --git a/packages/components/src/components/Card/OrderCardItem.vue b/packages/components/src/components/Card/OrderCardItem.vue
index fc4dd47..dd2dd35 100644
--- a/packages/components/src/components/Card/OrderCardItem.vue
+++ b/packages/components/src/components/Card/OrderCardItem.vue
@@ -27,21 +27,4 @@
});
</script>
-<style lang="scss">
-.order-card-item {
- display: flex;
- font-size: 28px;
- line-height: 40px;
- margin-bottom: 15px;
-
- .order-card-item-label {
- color: #333333;
- }
-
- .order-card-item-value {
- color: #666666;
- flex: 1;
- min-width: 0;
- }
-}
-</style>
+<style lang="scss"></style>
diff --git a/packages/components/src/components/NoData/NoData.vue b/packages/components/src/components/NoData/NoData.vue
index ce0511e..1744782 100644
--- a/packages/components/src/components/NoData/NoData.vue
+++ b/packages/components/src/components/NoData/NoData.vue
@@ -8,7 +8,7 @@
<script lang="ts">
import { defineComponent } from 'vue';
-const NoDataImage = `'https://parkmanagement.oss-cn-hangzhou.aliyuncs.com/mini/assets/no-data.png`;
+const NoDataImage = 'https://parkmanagement.oss-cn-hangzhou.aliyuncs.com/mini/assets/no-data.png';
export default defineComponent({
name: 'NoData',
diff --git a/packages/components/src/styles/index.scss b/packages/components/src/styles/index.scss
index 37b4cc0..a83adac 100644
--- a/packages/components/src/styles/index.scss
+++ b/packages/components/src/styles/index.scss
@@ -6,6 +6,7 @@
@use './rechargeGrid.scss' as *;
@use './components.scss' as *;
@use './loading.scss' as *;
+@use './orderCard.scss' as *;
:root,
page {
diff --git a/packages/components/src/styles/orderCard.scss b/packages/components/src/styles/orderCard.scss
new file mode 100644
index 0000000..e841a8e
--- /dev/null
+++ b/packages/components/src/styles/orderCard.scss
@@ -0,0 +1,45 @@
+.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;
+ }
+ }
+}
+
+.order-card-item {
+ display: flex;
+ font-size: 28px;
+ line-height: 40px;
+ margin-bottom: 15px;
+
+ .order-card-item-label {
+ color: #333333;
+ }
+
+ .order-card-item-value {
+ color: #666666;
+ flex: 1;
+ min-width: 0;
+ }
+}
diff --git a/packages/components/src/styles/rechargeGrid.scss b/packages/components/src/styles/rechargeGrid.scss
index 6bff098..b23d556 100644
--- a/packages/components/src/styles/rechargeGrid.scss
+++ b/packages/components/src/styles/rechargeGrid.scss
@@ -130,4 +130,12 @@
}
}
}
+
+ &.electric {
+ .nut-dialog {
+ .nut-dialog__content {
+ max-height: 700px;
+ }
+ }
+ }
}
diff --git a/packages/components/src/views/Order/components/ElectricOrder.vue b/packages/components/src/views/Order/components/ElectricOrder.vue
index 1ab4dc3..9f8a997 100644
--- a/packages/components/src/views/Order/components/ElectricOrder.vue
+++ b/packages/components/src/views/Order/components/ElectricOrder.vue
@@ -1,24 +1,36 @@
<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="common-infinite-scroll-list" v-bind="infiniteLoadingProps">
+ <template #renderItem="{ item }">
+ <OrderCard title="鐢佃垂鍏呭��" status="寰呮敮浠�" :order-no="item?.orderNo">
+ <OrderCardItem label="鍏呭�煎湴鍖�:" :value="'18888888888'" />
+ <OrderCardItem label="鍏呭�兼埛鍙�:" :value="'18888888888'" />
+ <OrderCardItem
+ label="涓嬪崟鏃堕棿:"
+ :value="dayjs(item?.creationTime).format('YYYY-MM-DD HH:mm:ss')"
+ />
+ <OrderCardItem label="鍏呭�奸噾棰�:" :value="item?.rechargeAmount" />
+ <OrderCardItem label="浼樻儬閲戦:" :value="item?.discountAmount" />
+ <OrderCardItem label="瀹炰粯閲戦:" :value="item?.payAmount" />
+ <OrderCardItem
+ label="鏀粯鏃堕棿:"
+ :value="dayjs(item?.payTime).format('YYYY-MM-DD HH:mm:ss')"
+ />
+ <OrderCardItem
+ label="瀹屾垚鏃堕棿:"
+ :value="dayjs(item?.finishTime).format('YYYY-MM-DD HH:mm:ss')"
+ />
+ </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 '../../../utils';
+import dayjs from 'dayjs';
defineOptions({
name: 'ElectricOrder',
@@ -28,7 +40,7 @@
// const props = withDefaults(defineProps<Props>(), {});
-const infiniteLoadingProps = {};
+const { infiniteLoadingProps } = useGetUserLifePayOrderPage({
+ lifePayOrderType: BlLifeRecharge.constants.LifePayOrderTypeEnum.鐢佃垂璁㈠崟,
+});
</script>
-
-<style lang="scss"></style>
diff --git a/packages/components/src/views/Order/components/PhoneOrder.vue b/packages/components/src/views/Order/components/PhoneOrder.vue
index 782d440..2385c36 100644
--- a/packages/components/src/views/Order/components/PhoneOrder.vue
+++ b/packages/components/src/views/Order/components/PhoneOrder.vue
@@ -1,14 +1,23 @@
<template>
<InfiniteLoading scrollViewClassName="common-infinite-scroll-list" v-bind="infiniteLoadingProps">
<template #renderItem="{ item }">
- <OrderCard title="璇濊垂鍏呭��" status="寰呮敮浠�">
+ <OrderCard title="璇濊垂鍏呭��" status="寰呮敮浠�" :order-no="item?.orderNo">
<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'" />
+ <OrderCardItem
+ label="涓嬪崟鏃堕棿:"
+ :value="dayjs(item?.creationTime).format('YYYY-MM-DD HH:mm:ss')"
+ />
+ <OrderCardItem label="鍏呭�奸噾棰�:" :value="item?.rechargeAmount" />
+ <OrderCardItem label="浼樻儬閲戦:" :value="item?.discountAmount" />
+ <OrderCardItem label="瀹炰粯閲戦:" :value="item?.payAmount" />
+ <OrderCardItem
+ label="鏀粯鏃堕棿:"
+ :value="dayjs(item?.payTime).format('YYYY-MM-DD HH:mm:ss')"
+ />
+ <OrderCardItem
+ label="瀹屾垚鏃堕棿:"
+ :value="dayjs(item?.finishTime).format('YYYY-MM-DD HH:mm:ss')"
+ />
</OrderCard>
</template>
</InfiniteLoading>
@@ -20,6 +29,7 @@
import OrderCardItem from '../../../components/Card/OrderCardItem.vue';
import { useGetUserLifePayOrderPage } from '../../../hooks';
import { BlLifeRecharge } from '../../../utils';
+import dayjs from 'dayjs';
defineOptions({
name: 'PhoneOrder',
diff --git a/packages/components/src/views/electricBillRecharge/electricBillRecharge.vue b/packages/components/src/views/electricBillRecharge/electricBillRecharge.vue
index c92e80a..7348fbb 100644
--- a/packages/components/src/views/electricBillRecharge/electricBillRecharge.vue
+++ b/packages/components/src/views/electricBillRecharge/electricBillRecharge.vue
@@ -168,14 +168,3 @@
emit('goPay');
}
</script>
-<style lang="scss">
-.order-bill-recharge {
- &.electric {
- .nut-dialog {
- .nut-dialog__content {
- max-height: 700px;
- }
- }
- }
-}
-</style>
diff --git a/packages/services/api/AliPayNotify.ts b/packages/services/api/AliPayNotify.ts
index 359d1a0..34d3943 100644
--- a/packages/services/api/AliPayNotify.ts
+++ b/packages/services/api/AliPayNotify.ts
@@ -2,23 +2,8 @@
// @ts-ignore
import { request } from '@/utils/request';
-/** 姝ゅ鍚庣娌℃湁鎻愪緵娉ㄩ噴 GET /api/AliPayNotify/AliRechargeNotify */
-export async function aliRechargeNotify(
- // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
- params: API.APIaliRechargeNotifyParams,
- options?: API.RequestConfig
-) {
- return request<any>('/api/AliPayNotify/AliRechargeNotify', {
- method: 'GET',
- params: {
- ...params,
- },
- ...(options || {}),
- });
-}
-
/** 鏀粯瀹濆厖鍊煎洖璋冮�氱煡 POST /api/AliPayNotify/AliRechargeNotify */
-export async function aliRechargeNotify_2(options?: API.RequestConfig) {
+export async function aliRechargeNotify(options?: API.RequestConfig) {
return request<any>('/api/AliPayNotify/AliRechargeNotify', {
method: 'POST',
...(options || {}),
@@ -47,3 +32,18 @@
...(options || {}),
});
}
+
+/** 姝ゅ鍚庣娌℃湁鎻愪緵娉ㄩ噴 GET /api/AliPayNotify/TestAliRechargeNotify */
+export async function testAliRechargeNotify(
+ // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
+ params: API.APItestAliRechargeNotifyParams,
+ options?: API.RequestConfig
+) {
+ return request<any>('/api/AliPayNotify/TestAliRechargeNotify', {
+ method: 'GET',
+ params: {
+ ...params,
+ },
+ ...(options || {}),
+ });
+}
diff --git a/packages/services/api/typings.d.ts b/packages/services/api/typings.d.ts
index c913d8b..cf2fcde 100644
--- a/packages/services/api/typings.d.ts
+++ b/packages/services/api/typings.d.ts
@@ -917,12 +917,6 @@
id?: string;
}
- interface APIaliRechargeNotifyParams {
- outTradeNo?: string;
- tradeNo?: string;
- success?: boolean;
- }
-
interface APIapiDefinitionParams {
includeTypes?: boolean;
}
@@ -1889,6 +1883,12 @@
id?: string;
}
+ interface APItestAliRechargeNotifyParams {
+ outTradeNo?: string;
+ tradeNo?: string;
+ success?: boolean;
+ }
+
interface APItestCallBackParams {
type?: number;
}
--
Gitblit v1.9.1