Преглед на файлове

fix: guard withdraw notice detail

root преди 1 ден
родител
ревизия
cb437d3f9d

+ 40 - 6
packageUser/pages/user/cashDetail/cashDetail.js

@@ -1,15 +1,26 @@
 var _request = require('../../../../utils/request.js')
 var rid
+function createEmptyTransferDetail () {
+  return normalizeTransferDetail({})
+}
 function formatTransferStateText (state) {
   if (state === 'WAIT_USER_CONFIRM') {
     return '待确认,确认后到帐'
   }
   return state || ''
 }
+function hasTransferDetail (data) {
+  return !!(data && (data.id || data.relate_id || data.order_id || data.ctime || data.created_at))
+}
 function normalizeTransferDetail (data) {
   data = data || {}
-  data.count = Number(data.count) || 0
-  data.ctime = data.ctime || data.created_at || 0
+  var count = Number(data.count)
+  if (isNaN(count)) {
+    count = 0
+  }
+  data.count = count
+  data.count_text = (count / 100).toFixed(2)
+  data.ctime = Number(data.ctime || data.created_at || 0) || 0
   data.source_name = data.source_name || '提现'
   data.relate_id = data.relate_id || data.order_id || data.id || ''
   data.remark = data.remark || data.state_cn || ''
@@ -18,7 +29,9 @@ function normalizeTransferDetail (data) {
 }
 Page({
   data: {
-    detail: {},
+    detail: createEmptyTransferDetail(),
+    hasDetail: false,
+    loading: true,
     confirmingTransfer: false,
     confirmedTransfer: false
   },
@@ -36,15 +49,24 @@ Page({
     var params = {
     }
     var success = function (res) {
+      if (!hasTransferDetail(res.data)) {
+        that.getLatestWithdrawRecord()
+        return
+      }
       var data = normalizeTransferDetail(res.data)
       if (that.data.confirmedTransfer) {
         data.can_confirm_transfer = false
       }
       that.setData({
-        detail: data
+        detail: data,
+        hasDetail: true,
+        loading: false
       })
     }
-    _request.$get(url, params, success)
+    var fail = function () {
+      that.getLatestWithdrawRecord()
+    }
+    _request.$get(url, params, success, fail)
   },
   getLatestWithdrawRecord () {
     var that = this
@@ -57,10 +79,17 @@ Page({
       var list = (res.data && res.data.list) || []
       if (list.length > 0) {
         that.setData({
-          detail: normalizeTransferDetail(list[0])
+          detail: normalizeTransferDetail(list[0]),
+          hasDetail: true,
+          loading: false
         })
         return
       }
+      that.setData({
+        detail: createEmptyTransferDetail(),
+        hasDetail: false,
+        loading: false
+      })
       wx.showToast({
         title: '暂无提现记录',
         icon: 'none',
@@ -71,6 +100,11 @@ Page({
       })
     }
     var fail = function () {
+      that.setData({
+        detail: createEmptyTransferDetail(),
+        hasDetail: false,
+        loading: false
+      })
       wx.redirectTo({
         url: '/packageUser/pages/user/withdraw/withdraw'
       })

+ 4 - 3
packageUser/pages/user/cashDetail/cashDetail.wxml

@@ -1,8 +1,8 @@
 <view class="bg">
-  <view class="radishDetail">
+  <view class="radishDetail" wx:if="{{hasDetail}}">
     <view class="radishDetail-count">
       <view class="radishDetail-count__title">数量</view>
-      <view class="radishDetail-count__value">{{detail.count / 100}}余额</view>
+      <view class="radishDetail-count__value">{{detail.count_text}}余额</view>
       <view class="clean"></view>
     </view>
     <view class="radishDetail-line">
@@ -10,7 +10,7 @@
       <view class="radishDetail-line__value ellipsis">{{detail.source_name}}</view>
       <view class="clean"></view>
     </view>
-    <view class="radishDetail-line">
+    <view class="radishDetail-line" wx:if="{{detail.ctime}}">
       <view class="radishDetail-line__title">时间</view>
       <view class="radishDetail-line__value ellipsis"><format-time type="formatTime" value="{{detail.ctime}}" ></format-time></view>
       <view class="clean"></view>
@@ -37,4 +37,5 @@
     </view>
     <view class="merchant-transfer-btn" wx:if="{{detail.can_confirm_transfer}}" bindtap="confirmMerchantTransfer">确认收款</view>
   </view>
+  <view class="radishDetail-empty" wx:if="{{!loading && !hasDetail}}">暂无提现记录</view>
 </view>

+ 6 - 0
packageUser/pages/user/cashDetail/cashDetail.wxss

@@ -46,3 +46,9 @@
   font-size: 30rpx;
   text-align: center;
 }
+.radishDetail-empty {
+  padding-top: 120rpx;
+  color: #999999;
+  font-size: 28rpx;
+  text-align: center;
+}