OfficeApp/components/companyFinance/companyFinance.vue

257 lines
6.7 KiB
Vue
Raw Normal View History

2023-08-03 14:05:16 +08:00
<template>
<view class="c_card">
2023-08-09 11:18:45 +08:00
<view class="f_card">
2023-08-10 14:13:35 +08:00
<view class="item" @click="navTo('/subpkg/topUp/topUp')">
2023-08-03 14:05:16 +08:00
<view>公司账户余额()</view>
<view class="price" v-if="company.deposit">{{cCount(company.deposit)}}</view>
<view class="price" v-else>0.00</view>
</view>
2023-08-10 14:13:35 +08:00
<view class="item" @click="navTo('/subpkg/withdrawDeposit/withdrawDeposit')">
2023-08-03 14:05:16 +08:00
<view>公司收益金额()</view>
<view class="price" v-if="company.company_money">{{cCount(company.company_money)}}</view>
<view class="price" v-else>0.00</view>
</view>
</view>
<view class="f_nav">
<view class="title">账单流水</view>
<view class="right">
<view class="btn" :class="current==0?'active':''" @click="current=0;initLoad()">日账单</view>
<view class="btn" :class="current==1?'active':''" @click="current=1;initLoad()">月账单</view>
2023-08-10 14:13:35 +08:00
<view class="btn" @click="navTo('/subpkg/companyFinance/companyFinance')">更多</view>
2023-08-03 14:05:16 +08:00
</view>
</view>
<view class="f_list">
<view class="item" v-for="(item, index) in list" :key="index">
<view class="top">
账单日期: {{current?item.month:item.create_time}}
</view>
<view class="bottom">
<view class="text">
<view class="t_item" v-if="current==0">
<view>任务名称</view>
<view class="tips">{{item.remark}}</view>
</view>
<view class="t_item">
<view>收益来源</view>
<view class="tips">{{current?item.remark:item.type_desc}}</view>
</view>
</view>
<view class="price">{{current?(item.expenditure==0?'+'+item.income:'-'+item.income):item.change_amount_desc}}</view>
</view>
</view>
<u-loadmore :status="loadConfig.status" :loading-text="loadConfig.loadingText" :loadmore-text="loadConfig.loadmoreText" :nomore-text="loadConfig.nomoreText" />
</view>
</view>
</template>
<script>
import { accountMonthList, accountDateList } from "@/api/company.js"
2023-08-05 12:02:12 +08:00
import { Toast } from "../../libs/uniApi";
2023-08-03 14:05:16 +08:00
export default {
name: "companyFinance",
data() {
return {
current: 0,
list: [],
company:{},
loadConfig:{
page: 1,
limit: 15,
lastpage: '',
loadingText: '努力加载中',
loadmoreText: '轻轻上拉',
nomoreText: '我也是有底线的~~',
status: 'loadmore'
},
};
},
mounted() {
uni.$on('companyInfo', (e)=>{
this.company = e;
this.initLoad();
})
},
methods:{
2023-08-10 14:13:35 +08:00
navTo(url) {
2023-08-03 17:44:02 +08:00
url ?
uni.navigateTo({
url: url,
}) : Toast('暂未开放')
},
2023-08-03 14:05:16 +08:00
initLoad(){
this.loadConfig.page = 1;
this.loadConfig.status = "loadmore";
this.list = [];
this.initList();
},
async initList(){
if(this.loadConfig.status=="nomore")return;
this.loadConfig.status="loading";
let res;
if(this.current==0) res = await accountDateList({
page: this.loadConfig.page,
limit: this.loadConfig.limit,
company_id: this.$store.state.app.userInfo.company_id
})
else res = await accountMonthList({
page: this.loadConfig.page,
limit: this.loadConfig.limit,
company_id: this.$store.state.app.userInfo.company_id
})
this.loadConfig.status="loadmore"
if(res.data.length<this.loadConfig.limit){
this.loadConfig.status="nomore"
}else {
this.loadConfig.page++;
}
this.list = [...this.list, ...res.data]
},
// 格式化数据
cCount(value=0){
try{
return value.toFixed(2);
}catch(e){
return "0.00";
}
}
}
}
</script>
<style lang="scss">
.c_card {
padding-top: 28rpx;
.f_card {
margin: 0 auto;
width: 694rpx;
height: 158rpx;
background: #3175F9;
border-radius: 18rpx 18rpx 18rpx 18rpx;
opacity: 1;
padding: 28rpx;
display: flex;
justify-content: space-around;
color: #fff;
text-align: center;
.item {
display: flex;
flex-direction: column;
justify-content: space-between;
font-size: 28rpx;
flex: 1;
&:nth-child(1) {
border-right: 1px solid #fff;
}
.price {
font-size: 49rpx;
font-weight: 500;
}
}
}
.f_nav {
margin: 28rpx;
display: flex;
justify-content: space-between;
align-items: flex-end;
.title {
font-size: 32rpx;
font-weight: 500;
color: #333333;
display: flex;
align-items: center;
&:before {
content: "";
width: 6rpx;
height: 26rpx;
border-radius: 10rpx;
margin-right: 10rpx;
display: inline-block;
background-color: #3175F9;
}
}
.right {
display: flex;
.btn {
margin-left: 28rpx;
}
.active {
color: #3175F9;
}
}
}
.f_list {
.item {
margin: 0 auto;
margin-bottom: 28rpx;
width: 694rpx;
// height: 238rpx;
background: #FFFFFF;
border-radius: 14rpx 14rpx 14rpx 14rpx;
opacity: 1;
padding: 28rpx;
.top {
margin-bottom: 28rpx;
font-size: 25rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #333333;
&:before {
display: inline-block;
content: '账单详情';
width: 137rpx;
height: 49rpx;
line-height: 49rpx;
text-align: center;
background: #3274F9;
border-radius: 26rpx 26rpx 26rpx 26rpx;
color: #fff;
margin-right: 28rpx;
}
}
.bottom {
display: flex;
justify-content: space-between;
.text {
font-size: 25rpx;
font-weight: 400;
color: #999999;
line-height: 39rpx;
.t_item{
display: flex;
&:nth-child(1){
margin-bottom: 16rpx;
}
.tips{
font-size: 28rpx;
font-weight: 400;
color: #333333;
}
}
}
.price{
display: flex;
align-items: center;
font-size: 32rpx;
font-weight: 500;
color: #F02828;
}
}
}
}
}
</style>