dl_mer_uniapp/pages/users/user_spread_money/index.vue
2025-03-04 16:03:38 +08:00

250 lines
6.7 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<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>