From 639f26323941b17902e1669778b2857465a8038a Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期一, 22 九月 2025 15:18:34 +0800
Subject: [PATCH] Merge branch 'dev-v1.1'

---
 apps/bMiniApp/src/subpackages/mine/mineFinanceManage/InnerPage.vue |   97 ++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 81 insertions(+), 16 deletions(-)

diff --git a/apps/bMiniApp/src/subpackages/mine/mineFinanceManage/InnerPage.vue b/apps/bMiniApp/src/subpackages/mine/mineFinanceManage/InnerPage.vue
index a522143..58683f3 100644
--- a/apps/bMiniApp/src/subpackages/mine/mineFinanceManage/InnerPage.vue
+++ b/apps/bMiniApp/src/subpackages/mine/mineFinanceManage/InnerPage.vue
@@ -1,50 +1,97 @@
 <template>
   <List>
-    <IncomeDetailListItem :item="'鏀跺叆:锟�600.00'">
+    <IncomeDetailListItem :item="`鏀嚭锛氾骏${toThousand(sumWithdraw)} `">
       <template #title>
-        <div class="mineFinanceManage-detail-time-picker">
+        <div class="income-detail-time-picker">
           <ChooseInputWithDatePicker
-            v-model="form.month"
+            v-model="queryState.month"
             type="year-month"
             :max-date="nowDate"
-          ></ChooseInputWithDatePicker>
+            format="YYYY-MM"
+          />
+          <IconFont name="triangle-down" class="income-detail-time-picker-icon"></IconFont>
         </div>
       </template>
     </IncomeDetailListItem>
-    <IncomeDetailListItem
-      :title="'鏀跺叆-瀹佹尝浜哄姏鏃犲咖'"
-      :item="'2024.12.20 13:30:30'"
-      :value="'+300.00'"
-    >
-    </IncomeDetailListItem>
   </List>
+  <InfiniteLoading
+    scrollViewClassName="common-infinite-scroll-list home-list"
+    v-bind="infiniteLoadingProps"
+    :key="queryState.type"
+  >
+    <template #renderItem="{ item }">
+      <IncomeDetailListItem
+        :title="item.title"
+        :funds="item.amount"
+        :item="dayjs(item.createdTime).format('YYYY-MM-DD HH:mm:ss')"
+        :value="`閽卞寘浣欓锛�${toThousand(item.balance)}`"
+      >
+      </IncomeDetailListItem>
+    </template>
+  </InfiniteLoading>
 </template>
 
 <script setup lang="ts">
 import { List, IncomeDetailListItem, ChooseInputWithDatePicker } from '@12333/components';
-import { useUserStore } from '@/stores/modules/user';
-import Taro from '@tarojs/taro';
 import dayjs from 'dayjs';
+import { toThousand } from '@12333/utils';
+import * as userServices from '@12333/services/apiV2/user';
+import { useInfiniteLoading } from '@12333/hooks';
+import { EnumUserWalletTransactionType, EnumPagedListOrder } from '@12333/constants';
 
 defineOptions({
   name: 'InnerPage',
 });
 
-const userStore = useUserStore();
 const nowDate = dayjs().toDate();
-const form = reactive({
-  month: '2024-12',
+
+const queryState = reactive({
+  month: dayjs().format('YYYY-MM'),
+  type: 0 as any as EnumUserWalletTransactionType,
 });
+
+const sumWithdraw = computed(() => {
+  return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.sumWithdraw ?? 0;
+});
+
+const { infiniteLoadingProps } = useInfiniteLoading(
+  ({ pageParam }) => {
+    let params: API.GetPersonalUserTransactionsQuery = {
+      pageModel: {
+        rows: 20,
+        page: pageParam,
+        orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
+      },
+      type: EnumUserWalletTransactionType.Withdraw,
+    };
+    // if (Number(queryState.type)) {
+    //   params.type = queryState.type;
+    // }
+    if (queryState.month) {
+      params.createdTimeStart = dayjs(queryState.month).startOf('month').format('YYYY-MM-DD');
+      params.createdTimeEnd = dayjs(queryState.month).endOf('month').format('YYYY-MM-DD');
+    }
+    return userServices.getPersonalUserTransactions(params, {
+      showLoading: false,
+    });
+  },
+  {
+    queryKey: ['userServices/getPersonalUserTransactions', queryState],
+  }
+);
 </script>
 
 <style lang="scss">
 @import '@/styles/common.scss';
 
 .mineFinanceManage-page-wrapper {
-  .mineFinanceManage-detail-time-picker {
+  .income-detail-time-picker {
+    position: relative;
+
     .nut-input {
       border-bottom: none;
       padding: 0;
+      width: 100%;
 
       .input-text {
         font-size: 20px;
@@ -56,6 +103,24 @@
         display: none;
       }
     }
+
+    .income-detail-time-picker-icon {
+      position: absolute;
+      top: 12px;
+      left: 220px;
+    }
+  }
+
+  .common-infinite-scroll-list {
+    background-color: #ffffff;
+  }
+
+  .pro-list {
+    background: transparent;
+  }
+
+  .nut-input {
+    background: transparent;
   }
 }
 </style>

--
Gitblit v1.9.1