Browse Source

✨ 充值日志:接入完成

YunaiV 1 năm trước cách đây
mục cha
commit
f8ea20060f
2 tập tin đã thay đổi với 54 bổ sung48 xóa
  1. 41 47
      pages/pay/recharge-log.vue
  2. 13 1
      sheep/api/pay/wallet.js

+ 41 - 47
pages/pay/recharge-log.vue

@@ -1,47 +1,36 @@
+<!-- 充值记录 -->
 <template>
   <s-layout class="widthdraw-log-wrap" title="充值记录">
     <!-- 记录卡片 -->
     <view class="wallet-log-box ss-p-b-30">
-      <view class="log-list" v-for="item in state.pagination.data" :key="item">
+      <view class="log-list" v-for="item in state.pagination.list" :key="item">
         <view class="head ss-flex ss-col-center ss-row-between">
           <view class="title">充值金额</view>
-          <view
-            class="num"
-            :class="
-              item.status === -1
-                ? 'danger-color'
-                : item.status === 2
-                ? 'success-color'
-                : 'warning-color'
-            "
-            >{{ item.pay_fee }}元</view
-          >
+          <view class="num" :class="item.refundStatus === 10 ? 'danger-color' : 'success-color'">
+            {{ fen2yuan(item.payPrice) }} 元
+            <text v-if="item.bonusPrice > 0">(赠送 {{ fen2yuan(item.bonusPrice)}} 元)</text>
+          </view>
         </view>
         <view class="status-box item ss-flex ss-col-center ss-row-between">
           <view class="item-title">支付状态</view>
           <view
             class="status-text"
-            :class="
-              item.status === -1
-                ? 'danger-color'
-                : item.status === 2
-                ? 'success-color'
-                : 'warning-color'
-            "
-            >{{ item.status_text }}</view
+            :class="item.refundStatus === 10 ? 'danger-color' : 'success-color'"
           >
+            {{ item.refundStatus === 10 ? '已退款' : '已支付' }}
+          </view>
         </view>
         <view class="time-box item ss-flex ss-col-center ss-row-between">
           <text class="item-title">充值渠道</text>
-          <view class="time ss-ellipsis-1">{{ item.platform_text }}</view>
+          <view class="time ss-ellipsis-1">{{ item.payChannelName }}</view>
         </view>
         <view class="time-box item ss-flex ss-col-center ss-row-between">
           <text class="item-title">充值单号</text>
-          <view class="time"> {{ item.order_sn }} </view>
+          <view class="time"> {{ item.payOrderChannelOrderNo }} </view>
         </view>
         <view class="time-box item ss-flex ss-col-center ss-row-between">
           <text class="item-title">充值时间</text>
-          <view class="time"> {{ item.paid_time }}</view>
+          <view class="time"> {{ sheep.$helper.timeFormat(item.payTime, 'yyyy-mm-dd hh:MM:ss') }}</view>
         </view>
       </view>
     </view>
@@ -49,59 +38,64 @@
       v-if="state.pagination.total === 0"
       icon="/static/comment-empty.png"
       text="暂无充值记录"
-    ></s-empty>
+    />
     <uni-load-more
       v-if="state.pagination.total > 0"
       :status="state.loadStatus"
       :content-text="{
         contentdown: '上拉加载更多',
       }"
-      @tap="loadmore"
+      @tap="loadMore"
     />
   </s-layout>
 </template>
 
 <script setup>
   import { reactive } from 'vue';
-  import sheep from '@/sheep';
   import { onLoad, onReachBottom } from '@dcloudio/uni-app';
   import _ from 'lodash';
+  import PayWalletApi from '@/sheep/api/pay/wallet';
+  import sheep from '@/sheep';
+  import { fen2yuan } from '../../sheep/hooks/useGoods';
+
   const state = reactive({
-    currentTab: 0,
     pagination: {
-      data: [],
-      current_page: 1,
-      total: 1,
-      last_page: 1,
+      list: [],
+      total: 0,
+      pageNo: 1,
+      pageSize: 5,
     },
     loadStatus: '',
   });
+
   async function getLogList(page = 1, list_rows = 5) {
-    const res = await sheep.$api.trade.orderLog({ type: 'recharge', list_rows, page });
-    if (res.error === 0) {
-      let logList = _.concat(state.pagination.data, res.data.data);
-      state.pagination = {
-        ...res.data,
-        data: logList,
-      };
-      if (state.pagination.current_page < state.pagination.last_page) {
-        state.loadStatus = 'more';
-      } else {
-        state.loadStatus = 'noMore';
-      }
+    const { code, data } = await PayWalletApi.getWalletRechargePage({
+      pageNo: page,
+      pageSize: list_rows,
+    });
+    if (code !== 0) {
+      return;
     }
+    state.pagination.list = _.concat(state.pagination.list, data.list);
+    state.pagination.total = data.total;
+    state.loadStatus = state.pagination.list.length < state.pagination.total ? 'more' : 'noMore';
   }
+
   // 加载更多
-  function loadmore() {
-    if (state.loadStatus !== 'noMore') {
-      getLogList(state.pagination.current_page + 1);
+  function loadMore() {
+    if (state.loadStatus === 'noMore') {
+      return;
     }
+    state.pagination.pageNo++;
+    getLogList();
   }
+
   onLoad(() => {
     getLogList();
   });
+
   onReachBottom(() => {
-    loadmore();
+    loadMore();
   });
 </script>
 

+ 13 - 1
sheep/api/pay/wallet.js

@@ -39,7 +39,19 @@ const PayWalletApi = {
       method: 'POST',
       data,
     });
-  }
+  },
+  // 获得钱包充值记录分页
+  getWalletRechargePage: (params) => {
+    return request({
+      url: '/app-api/pay/wallet-recharge/page',
+      method: 'GET',
+      params,
+      custom: {
+        showError: false,
+        showLoading: false,
+      },
+    });
+  },
 };
 
 export default PayWalletApi;