MrShi
2026-06-09 3f9032e92fdd383bfefc87a0bec9b242e1223851
app/pages/wallet/wallet.vue
@@ -53,22 +53,20 @@
                  </view>
               </view>
               <view class="item-date-bottom">
                  <text>收入:¥{{(countDataList.totalIncome || 0).toFixed(2)}}</text>
                  <text>支出:¥{{(countDataList.totalExpense || 0).toFixed(2)}}</text>
                  <text>收入:¥{{((countDataList.totalIncome || 0) / 100).toFixed(2)}}</text>
                  <text>支出:¥{{((countDataList.totalExpense || 0) / 100).toFixed(2)}}</text>
               </view>
            </view>
            <view class="item-list">
               <view class="item-list-item"  v-for="(item, index) in dataList" :key="index" @click="jumpDetail(item)">
                  <view class="image">
                     <image  v-if="item.type === 0" src="/static/image/ic_shouru@2x.png" mode="widthFix"></image>
                     <image  v-if="item.type === 1" src="/static/image/ic_tixian@2x.png" mode="widthFix"></image>
                     <image  v-if="item.type === 2" src="/static/image/ic_tuikuan@2x.png" mode="widthFix"></image>
                     <image :src="getTransactionIcon(item.type)" mode="widthFix"></image>
                  </view>
                  <view class="info">
                     <view class="info">
                        <view class="info-a">
                           <view class="info-a-label">
                           {{item.type === 0 ? '完成订单' : item.type === 1 ? '提现支出' : item.type === 2 ? '提现退回' : ''}}
                           {{ getTransactionLabel(item.type) }}
                           <template  v-if="item.type === 1">
                              <text style="color: #FF0020;"  v-if="item.withdrawStatus == 2">未通过</text>
                              <text style="color: #004096" v-else-if="item.withdrawStatus == 1">已通过</text>
@@ -76,7 +74,7 @@
                           </template>
                           </view>
                           <view class="info-a-price">
                              <text>{{item.type==1?'-':'+'}}{{(item.amountInfo ||0)}}</text>
                              <text>{{ isExpenseType(item) ? '-' : '+' }}{{(item.amountInfo ||0)}}</text>
                              <text></text>
                           </view>
                        </view>
@@ -113,6 +111,9 @@
                  <view  @click="checkType(0)" :class="tempType === 0 ?'sear-item-list-item active':'sear-item-list-item'">订单结算</view>
                  <view  @click="checkType(1)" :class="tempType === 1?'sear-item-list-item active':'sear-item-list-item'">提现</view>
                  <view  @click="checkType(2)" :class="tempType === 2?'sear-item-list-item active':'sear-item-list-item'">提现退回</view>
                  <view  @click="checkType(3)" :class="tempType === 3?'sear-item-list-item active':'sear-item-list-item'">平台奖励</view>
                  <view  @click="checkType(4)" :class="tempType === 4?'sear-item-list-item active':'sear-item-list-item'">责任扣款</view>
                  <view  @click="checkType(5)" :class="tempType === 5?'sear-item-list-item active':'sear-item-list-item'">异常转运</view>
                  <view style="width: 216rpx; height: 0;"></view>
               </view>
            </view>
@@ -165,6 +166,7 @@
      data() {
         return {
            currentPage:1,
            loading:false,
            total:0,
            active:0,
            wordsWidth:250,
@@ -206,6 +208,10 @@
         this.initDateStr()
         // uni.$on('accountListReload', this.getFirstPageData())
      },
      onReachBottom() {
         console.log('onReachBottom')
         this.getShopPage()
      },
      methods:{
         bindChange1 (e) {
            this.tempStartDate = e.detail.value || null
@@ -235,6 +241,7 @@
                return value
            },
         getShopPage() {
            console.log(this.loading, this.hasNext)
            if(this.loading || !this.hasNext){
               return
            }
@@ -243,6 +250,12 @@
               this.hasNext = true
               this.dataList=[]
            }
            console.log({
                  startTime: this.startDate || this.defaultStartDate,
                  endTime: this.endDate || this.defaultEndDate,
                  type: this.type,
                  optType: this.active === 1?1:(this.active === 2?-1:'')
               })
            this.$u.api.driverPage({
               capacity: 10,
               model: {
@@ -254,15 +267,16 @@
               page: this.currentPage
            }).then(res => {
               if (res.code == 200) {
                  this.dataList.push(...res.data.records)
                  const records = res.data.records || []
                  this.dataList.push(...records)
                  this.total = res.data.total
                  this.currentPage = this.currentPage+1
                  if (this.dataList.length >= res.data.total) {
                     this.hasNext = false
                  } else {
                     this.hasNext = true
                  }
                  this.currentPage++
                  this.hasNext = this.dataList.length < res.data.total
               }
            }).catch(err => {
               console.log(err)
            }).finally(() => {
               this.loading = false
            })
         },
         getShopSummary() {
@@ -270,7 +284,7 @@
               startTime: this.startDate || this.defaultStartDate,
               endTime: this.endDate || this.defaultEndDate,
               type: this.active === 1?0:(this.active===2?1:''), 
               objType: this.type === 1?16:( this.type === 2?17:( this.type === 3?25: (this.type === 4?1: ''))),
               objType: this.getSummaryObjType(this.type),
            }).then(res=>{
               if(res.code == 200){
                  this.countDataList = res.data
@@ -326,7 +340,7 @@
                  this.words = '全部'
               }else {
                  let t1 = this.active === 1 ? '收入 ':(this.active === 2 ? '支出 ' : '');
                  let t2 = this.type === 0 ? '订单结算' : (this.type === 1 ? '提现': (this.type === 2 ? '提现退回' : ''))
                  let t2 = this.getFilterTypeLabel(this.type)
                  if(t1 !='' && t2 !=''){
                     this.wordsWidth = 350
                  }
@@ -371,11 +385,59 @@
         checkActive(index){
            this.tempActive =index
         },
         getTransactionLabel(type) {
            const typeMap = {
               0: '完成订单',
               1: '提现支出',
               2: '提现退回',
               3: '平台奖励',
               4: '责任扣款',
               5: '异常转运'
            }
            return typeMap[type] || ''
         },
         getFilterTypeLabel(type) {
            const typeMap = {
               0: '订单结算',
               1: '提现',
               2: '提现退回',
               3: '平台奖励',
               4: '责任扣款',
               5: '异常转运'
            }
            return typeMap[type] || ''
         },
         getTransactionIcon(type) {
            const typeMap = {
               0: '/static/image/ic_shouru@2x.png',
               1: '/static/image/ic_tixian@2x.png',
               2: '/static/image/ic_tuikuan@2x.png',
               3: '/static/image/ic_shouru@2x.png',
               4: '/static/image/ic_tixian@2x.png',
               5: '/static/image/ic_tuikuan@2x.png'
            }
            return typeMap[type] || '/static/image/ic_shouru@2x.png'
         },
         getSummaryObjType(type) {
            const typeMap = {
               1: 16,
               2: 17,
               3: 25,
               4: 1
            }
            return typeMap[type] || ''
         },
         isExpenseType(item) {
            if (item && item.optType !== undefined && item.optType !== null && item.optType !== '') {
               return Number(item.optType) === -1
            }
            return [1, 4].includes(Number(item.type))
         },
         checkType(index){
            this.tempType = index
         },
         getFirstPageData(){
            this.currentPage = 0
            this.currentPage = 1
            this.hasNext=true
            this.loading=false
            this.total=0