dl_mer_uniapp/pages/users/user_spread_money/index.vue

250 lines
6.7 KiB
Vue
Raw Normal View History

2025-03-04 16:03:38 +08:00
<template>
<view :data-theme="theme">
<view class='commission-details'>
<view class='promoterHeader'>
<view class='headerCon acea-row row-between-wrapper'>
<view>
<view class='name'>{{name}}</view>
<view class='money' v-if="recordType == 4"><text class='num'>{{extractCount}}</text></view>
<view class='money' v-else><text class='num'>{{commissionCount}}</text></view>
</view>
<view class='iconfont icon-jinbi1'></view>
</view>
</view>
<view class='sign-record' v-if="recordType == 4">
<block v-for="(item,index) in recordList" :key="index" v-if="recordList.length>0">
<view class='list borderPad'>
<view class='item'>
<view class='data'>{{item.month}}</view>
<view class='listn borRadius14'>
<block v-for="(child,indexn) in item.list" :key="indexn">
<view class='itemn acea-row row-between-wrapper'>
<view>
<view v-if="child.auditStatus!==1" class='name line1'>
{{child.auditStatus | statusFilter}}
</view>
<view class='name line1' v-else>
{{'审核成功 / '+ child.accountStatus===0?'未到账':'已到账'}}
</view>
<view>{{child.createTime}}</view>
</view>
<view class='num font_color'>{{child.closingPrice}}</view>
</view>
</block>
</view>
</view>
</view>
</block>
<view v-if="recordList.length == 0">
<emptyPage title='暂无结算记录~' :imgSrc="urlDomain+'crmebimage/presets/noJilu.png'"></emptyPage>
</view>
</view>
<view class='sign-record' v-else>
<block v-for="(item,index) in recordList" :key="index" v-if="recordList.length>0">
<view class='list borderPad'>
<view class='item'>
<view class='data'>{{item.month}}</view>
<view class='listn borRadius14'>
<block v-for="(child,indexn) in item.list" :key="indexn">
<view class='itemn acea-row row-between-wrapper'>
<view>
<view class='name line1'>{{child.title}}</view>
<view>{{child.updateTime}}</view>
</view>
<view class='num font_color' v-if="child.type == 1">+{{child.price}}
</view>
<view class='num' v-else>-{{child.price}}</view>
</view>
</block>
</view>
</view>
</view>
</block>
<view v-if="recordList.length == 0">
<emptyPage title='暂无佣金记录~' :imgSrc="urlDomain+'crmebimage/presets/noJilu.png'"></emptyPage>
</view>
</view>
</view>
</view>
</template>
<script>
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2024 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import {
getCommissionInfo,
getClosingRecordApi,
} from '@/api/user.js';
import {
toLogin
} from '@/libs/login.js';
import {
mapGetters
} from "vuex";
import emptyPage from '@/components/emptyPage.vue'
import {
setThemeColor
} from '@/utils/setTheme.js'
const app = getApp();
export default {
components: {
emptyPage
},
filters: {
statusFilter(status) {
const statusMap = {
'2': '审核失败',
'0': '待审核',
'1': '审核成功'
}
return statusMap[status]
}
},
data() {
return {
urlDomain: this.$Cache.get("imgHost"),
name: '',
type: 0,
page: 1,
limit: 20,
recordList: [],
recordType: 0,
loadend: false,
extractCount: 0,
theme: app.globalData.theme,
commissionCount: 0,
bgColor: '#e93323'
};
},
computed: mapGetters(['isLogin']),
onLoad(options) {
if (this.isLogin) {
this.type = options.type;
this.extractCount = options.extractCount;
this.commissionCount = options.commissionCount;
} else {
toLogin();
}
let that = this;
that.bgColor = setThemeColor();
uni.setNavigationBarColor({
frontColor: '#ffffff',
backgroundColor: that.bgColor,
});
},
onShow: function() {
let type = this.type;
if (type == 1) {
uni.setNavigationBarTitle({
title: "结算记录"
});
this.name = '结算总额';
this.recordType = 4;
this.getList();
} else if (type == 2) {
uni.setNavigationBarTitle({
title: "佣金记录"
});
this.name = '佣金记录';
this.recordType = 3;
this.getRecordList();
} else {
uni.showToast({
title: '参数错误',
icon: 'none',
duration: 1000,
mask: true,
success: function(res) {
setTimeout(function() {
// #ifndef H5
uni.navigateBack({
delta: 1,
});
// #endif
// #ifdef H5
history.back();
// #endif
}, 1200)
},
});
}
},
methods: {
getList: function() {
let that = this;
let recordList = that.recordList;
let recordListNew = [];
if (that.loadend == true) return;
getClosingRecordApi({
page: that.page,
limit: that.limit
}).then(res => {
that.page = that.page + 1;
let len = that.page > res.data.totalPage;
let recordListData = res.data || [];
recordListNew = recordList.concat(recordListData);
that.loadend = len;
that.$set(that, 'recordList', recordListNew);
});
},
getRecordList: function() {
let that = this;
let page = that.page;
let limit = that.limit;
let loadend = that.loadend;
let recordType = that.recordType;
let recordList = that.recordList;
let recordListNew = [];
if (loadend == true) return;
getCommissionInfo({
page: page,
limit: limit
}).then(res => {
if (res.data.list) {
that.page = page + 1;
let len = that.page > res.data.totalPage;
let recordListData = res.data.list || [];
recordListNew = recordList.concat(recordListData);
that.loadend = len;
that.$set(that, 'recordList', recordListNew);
}
});
}
},
onReachBottom: function() {
if (this.type == 1) {
this.getList();
} else {
this.getRecordList();
}
}
}
</script>
<style scoped lang="scss">
.commission-details .promoterHeader .headerCon .money {
font-size: 36rpx;
}
.promoterHeader {
@include main_bg_color(theme);
}
.commission-details .promoterHeader .headerCon .money .num {
font-family: 'Guildford Pro';
}
.font_color {
color: #E93323 !important;
}
</style>