MrShi
2026-05-22 ea2fb93a0dfcde8f5b66825b20f9d9b835a28acc
app/pages/wallet/wallet.vue
@@ -60,15 +60,13 @@
            <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.num ||0).toFixed(2)}}</text>
                              <text>{{ isExpenseType(item) ? '-' : '+' }}{{(item.amountInfo ||0)}}</text>
                              <text></text>
                           </view>
                        </view>
@@ -109,10 +107,13 @@
            <view class="sear-item">
               <view class="sear-item-label">交易类型</view>
               <view class="sear-item-list">
                  <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(4)" :class="tempType == 4?'sear-item-list-item active':'sear-item-list-item'">提现退回</view>
                  <view  @click="checkType('')" :class="tempType === '' ? 'sear-item-list-item active':'sear-item-list-item'">全部</view>
                  <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>
@@ -169,9 +170,9 @@
            active:0,
            wordsWidth:250,
            tempActive :0,
            type:0,
            type:'',
            words:'全部',
            tempType :0,
            tempType :'',
            dateType :0,
            dataList:[],
            startDate:null,
@@ -196,7 +197,7 @@
         this.active=0
         this.wordsWidth=250
         this.words='全部'
         this.tempActive=0
         this.tempActive=''
         this.dateType=0
         this.countData={}
         this.tempStartDate=null
@@ -205,6 +206,10 @@
         this.show = false
         this.initDateStr()
         // uni.$on('accountListReload', this.getFirstPageData())
      },
      onReachBottom() {
         console.log('onReachBottom')
         this.getShopPage()
      },
      methods:{
         bindChange1 (e) {
@@ -243,18 +248,12 @@
               this.hasNext = true
               this.dataList=[]
            }
            console.log({
                  startTime: this.startDate || this.defaultStartDate,
                  endTime: this.endDate || this.defaultEndDate,
                  type: this.type === 1?0:(this.type === 2?1:(this.type === 3?2:'')),
                  optType: this.active === 1?1:(this.active === 2?-1:'')
               })
            this.$u.api.driverPage({
               capacity: 10,
               model: {
                  startTime: this.startDate || this.defaultStartDate,
                  endTime: this.endDate || this.defaultEndDate,
                  type: this.type === 1?0:(this.type === 2?1:(this.type === 3?2:'')),
                  type: this.type,
                  optType: this.active === 1?1:(this.active === 2?-1:'')
               },
               page: this.currentPage
@@ -276,7 +275,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
@@ -328,11 +327,11 @@
               this.type = this.tempType
               this.show = false
               this.wordsWidth = 250
               if(this.active === 0 && this.type === 0){
               if(this.active === 0 && this.type === ''){
                  this.words = '全部'
               }else {
                  let t1 = this.active === 1 ? '收入 ':(this.active === 2 ? '支出 ' : '');
                  let t2 = this.type === 1 ? '订单结算' : (this.type === 2 ? '提现': (this.type === 3 ? '订单结算退回' : (this.type === 4 ? '提现退回' : '')))
                  let t2 = this.getFilterTypeLabel(this.type)
                  if(t1 !='' && t2 !=''){
                     this.wordsWidth = 350
                  }
@@ -340,9 +339,9 @@
               }
            } else {
               this.tempActive = 0
               this.tempType = 0
               this.tempType = ''
               this.active = 0
               this.type = 0
               this.type = ''
               this.words = '全部'
               this.wordsWidth = 250
               this.show = false
@@ -377,8 +376,56 @@
         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
            this.tempType = index
         },
         getFirstPageData(){
            this.currentPage = 0