This commit is contained in:
cclu 2024-08-06 19:30:19 +08:00
parent 4bf61c9c1a
commit c14e7137f7
13 changed files with 2798 additions and 1130 deletions

View File

@ -103,6 +103,13 @@
"navigationBarTitleText": "结算审批"
}
},
{
"path": "monthList",
"style":
{
"navigationBarTitleText": "月度结算列表"
}
},
{
"path": "yearSettlement",
"style":
@ -114,6 +121,7 @@
"path": "monthDetail",
"style":
{
"navigationStyle": "custom",
"navigationBarTitleText": "月度详情"
}
}

File diff suppressed because it is too large Load Diff

View File

@ -54,7 +54,6 @@
类型
</view>
</view>
</view>
<scroll-view class="contentBox" :scroll-y="true" :style="{height: `calc(100vh - ${menu.bottom + 92}px)`}"
@ -93,7 +92,7 @@
</view>
</view>
</view>
<view class="load-more" v-if="dataList.length>0">
<view class="load-more" v-if="dataList && dataList.length>0">
<text>{{!isEnd ? '正在加载,请稍后...':'——— 我是有底线的 ———'}}</text>
</view>
</scroll-view>
@ -103,9 +102,9 @@
<view class="filterBox2">
<view class="filterTitle">结算类型</view>
<view class="filterItemList">
<view :class="SettlementType===0?'filterItem selectFilterItem':'filterItem'" @click="handleChangeSettlementType(0)">全部</view>
<view :class="SettlementType===1?'filterItem selectFilterItem':'filterItem'" @click="handleChangeSettlementType(1)">年度</view>
<view :class="SettlementType===2?'filterItem selectFilterItem':'filterItem'" @click="handleChangeSettlementType(2)">月度</view>
<view :class="SettlementType===0?'filterItem selectFilterItem':'filterItem'" @click.stop="handleChangeSettlementType(0)">全部</view>
<view :class="SettlementType===1?'filterItem selectFilterItem':'filterItem'" @click.stop="handleChangeSettlementType(1)">年度</view>
<view :class="SettlementType===2?'filterItem selectFilterItem':'filterItem'" @click.stop="handleChangeSettlementType(2)">月度</view>
</view>
</view>
<view style="display: flex;justify-content: center">
@ -340,6 +339,8 @@ import moment from "moment";
this.startDate = moment(e.detail.value).format('YYYY-MM')
this.startMonth = this.$moment(this.startDate).format('MM')
this.startYear = this.$moment(this.startDate).format('YYYY')
this.isEnd = false
this.PageIndex = 1
this.handleGetPageData()
},
//
@ -347,6 +348,8 @@ import moment from "moment";
this.endDate = moment(e.detail.value).format('YYYY-MM')
this.endMonth = this.$moment(this.endDate).format('MM')
this.endYear = this.$moment(this.endDate).format('YYYY')
this.isEnd = false
this.PageIndex = 1
this.handleGetPageData()
},
handleChangeSettlementType(e){
@ -389,7 +392,7 @@ import moment from "moment";
console.log('data',data)
this.dataList = this.PageIndex === 1?data.Result_Data.List:[...this.dataList,...data.Result_Data.List]
console.log('this.dataList',this.dataList)
if(data.Result_Data.TotalCount < 10){
if(data.Result_Data.List && data.Result_Data.List.length < 10){
this.isEnd = true
}
uni.hideLoading()
@ -598,7 +601,6 @@ import moment from "moment";
background-color: #f3f3f3;
.dataList{
width: 100%;
height: 100%;
box-sizing: border-box;
padding: 24rpx 24rpx 0;
.dataItem{
@ -690,17 +692,27 @@ import moment from "moment";
}
}
}
.load-more {
text-align: center;
width: 100%;
height: 80rpx;
color: #9999;
font-size: 24rpx;
}
}
.meng{
width: 100%;
background-color: rgba(0, 0, 0, 0.6);
position: fixed;
z-index:9;
.filterBox{
width: 100%;
background: #FFFFFF;
border-radius: 0rpx 0rpx 16rpx 16rpx;
padding: 48rpx 32rpx 24rpx ;
box-sizing: border-box;
z-index:10;
position: relative;
.filterBox2{
.filterTitle{
font-family: PingFangSC, PingFang SC;
@ -725,7 +737,7 @@ import moment from "moment";
display: flex;
flex-wrap: wrap;
.filterItem{
width: calc((100% - 32rpx)/3);
width: calc((100% - 36rpx)/3);
display: flex;
align-items: center;
justify-content: center;
@ -746,8 +758,8 @@ import moment from "moment";
margin-right: 0;
}
.selectFilterItem{
color: #2363FF;
background: #ECF2FF;
color: #FD7F21;
border: 2rpx solid #FD7F21;
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,232 @@
<template>
<view class="main">
<view class="listBox" v-if="dataList && dataList.length>0">
<view class="listItem" v-for="(item,index) in dataList" :key="index" @click="handleGoMonthDetail(item)">
<view class="itemTop">
<view class="topLeft">
<image class="leftIcon" src="/static/images/settlementApproval/monthIcon.png"/>
<span class="leftTime">{{ item.StartDate || '' }} {{item.EndDate || ''}} </span>
</view>
<view class="topRight">
<span class="itemState">{{item.IsApplySuccess?'已结算':'待结算'}}</span>
</view>
</view>
<view class="itemContent">
<view class="sumBox">
<view class="bigMoney">{{item.RevenueAmount?numeral(item.RevenueAmount).format('0,0.00'):'-'}}</view>
<view class="bigText">营业额合计<span class="unit">/万元</span></view>
</view>
<view class="contentList">
<view class="contentItem">
<view class="value">{{item.CashAmount?numeral(item.CashAmount).format('0,0.00'):'-'}}</view>
<view class="label">现金</view>
</view>
<view class="contentItem">
<view class="value">{{item.MobilePayAmount?numeral(item.MobilePayAmount).format('0,0.00'):'-'}}</view>
<view class="label">微支付</view>
</view>
<view class="contentItem">
<view class="value">{{item.RoyaltyAmount?numeral(item.RoyaltyAmount).format('0,0.00'):'-'}}</view>
<view class="label">驿达收款</view>
</view>
<view class="contentItem">
<view class="value">{{item.ReceivableAmount?numeral(item.ReceivableAmount).format('0,0.00'):'-'}}</view>
<view class="label">营收费用合计</view>
</view>
<view class="contentItem">
<view class="value">{{item.GuaranteeFee?numeral(item.GuaranteeFee).format('0,0.00'):'-'}}</view>
<view class="label">租金</view>
</view>
<view class="contentItem">
<view class="value">{{item.RefundSupplement?numeral(item.RefundSupplement).format('0,0.00'):'-'}}</view>
<view class="label">退补款</view>
</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import numeral from "numeral";
export default {
name: "monthList",
data() {
return {
dataList: [],
detailObj:{}
}
},
onLoad(query){
console.log('query',query)
if(query.list){
this.dataList = JSON.parse(query.list)
console.log('this.dataList',this.dataList)
}
if(query.detailObj){
this.detailObj = JSON.parse(query.detailObj)
console.log('this.detailObj',this.detailObj)
}
},
methods:{
numeral,
handleGoMonthDetail(obj){
console.log('this.detailObj',this.detailObj)
console.log('obj',obj)
let id = obj.BUSINESSPROJECT_ID ? obj.BUSINESSPROJECT_ID : ''
let res = {
...obj,
STARTDATE: obj.StartDate ? this.$moment(obj.StartDate.replace('.', '-').replace('.', '-')).format('YYYY-MM-DD') : '',
ENDDATE: obj.EndDate ? this.$moment(obj.EndDate.replace('.', '-').replace('.', '-')).format('YYYY-MM-DD') : '',
SHOPROYALTY_ID: this.detailObj.SHOPROYALTY_ID || '',
BUSINESSPROJECT_ID: this.detailObj.BUSINESSPROJECT_ID || '',
SERVERPARTSHOP_ID: this.detailObj.SERVERPARTSHOP_ID || '',
SERVERPART_ID: this.detailObj.SERVERPART_ID || '',
SERVERPART_NAME: this.detailObj.SERVERPART_NAME || '',
Approvalstate: this.detailObj.Approvalstate
}
let staticMonth = this.$moment(res.ENDDATE).endOf('months').format('YYYYMM')
this.$util.toNextRoute('navigateTo', `/pages/settlementApproval/monthDetail?obj=${JSON.stringify(res)}&staticMonth=${staticMonth}&id=${id}`)
}
}
}
</script>
<style scoped lang="scss">
.main{
width: 100%;
min-height: 100vh;
box-sizing: border-box;
padding: 26rpx 0 ;
background-color: #F3F3F3;
.listBox{
width: 100%;
box-sizing: border-box;
padding: 0 32rpx;
.listItem{
width: 100%;
box-sizing: border-box;
background-color: #fff;
border-radius: 16rpx;
margin-bottom: 24rpx;
.itemTop{
box-sizing: border-box;
padding: 24rpx;
display: flex;
align-items: center;
justify-content: space-between;
background: linear-gradient( 180deg, #FFF7F2 0%, #FFFFFF 100%);
border-radius: 14rpx 14rpx 0rpx 0rpx;
border-bottom: 2rpx solid #F7F7F7;
.topLeft{
display: flex;
align-items: center;
.leftIcon{
width: 40rpx;
height: 40rpx;
margin-right: 12rpx;
}
.leftTime{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 28rpx;
color: #242729;
line-height: 40rpx;
text-align: left;
font-style: normal;
}
}
.topRight{
.itemState{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 28rpx;
color: #C27424;
line-height: 40rpx;
text-align: left;
font-style: normal;
}
}
}
.itemContent{
width: 100%;
box-sizing: border-box;
padding: 0 24rpx;
.sumBox{
margin-top: 40rpx;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
.bigMoney{
font-family: DINAlternate, DINAlternate;
font-weight: bold;
font-size: 32rpx;
color: #9A3D1A;
line-height: 40rpx;
text-align: left;
font-style: normal;
}
.bigText{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 24rpx;
color: #786B6C;
line-height: 36rpx;
text-align: left;
font-style: normal;
.unit{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 24rpx;
color: #A69E9F;
line-height: 36rpx;
text-align: left;
font-style: normal;
}
}
}
.contentList{
margin-top: 32rpx;
display: flex;
align-items: center;
flex-wrap: wrap;
padding-bottom: 8rpx;
.contentItem{
width: calc(100% / 3);
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
margin-bottom: 24rpx;
.value{
font-family: DINAlternate, DINAlternate;
font-weight: bold;
font-size: 26rpx;
color: #483E3A;
line-height: 32rpx;
text-align: right;
font-style: normal;
height: 32rpx;
}
.label{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 24rpx;
color: #786B6C;
line-height: 36rpx;
text-align: right;
font-style: normal;
height: 36rpx;
}
}
}
}
}
}
}
</style>

View File

@ -1,6 +1,6 @@
<template>
<view class="main">
<!-- 顶部-->
<!-- 顶部-->
<view style="background: #fff">
<view class="pageTitle">{{detailObj.BUSINESSPROJECT_NAME || ''}}</view>
<!-- 顶部详情-->
@ -138,8 +138,243 @@
<view class="line" v-if="index!==yearDataList.length-1"></view>
</view>
</view>
<!-- 合作商户合同期结算明细表-->
<view style="background: #fff">
<view class="renovationBox">
<view v-for="(item,index) in yearDataList" :key="index">
<view v-if="index!==yearDataList.length-1" style="width: calc(100% - 48rpx);margin-left: 24rpx;background-color: #F3F3F3;margin-bottom: 24rpx">
<view class="renovationContent">
<view class="renovationTop">
<view class="topLeft">
<image class="renovationIcon" src="/static/images/settlementApproval/renovationIcon.png"/>
</view>
<view class="topRight">
<view class="contentTitle">{{item.PeriodIndexStr ||''}}</view>
<view style="display: flex;align-items: center;justify-content: space-between">
<view class="timeBox">{{item.StartDate || ''}} {{item.EndDate || ''}}</view>
<view class="goMoreMonth" v-if="item.children && item.children.length>0" @click="handleGoMonthList(item)">
查看月度结算
<image class="rightArrow" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/labourRight.png"/>
</view>
</view>
</view>
</view>
<view class="renovationMoney">
<view class="itemTitle">营业额</view>
<view class="revenueBox">
<view class="revenueItem">
<view class="revenueValue">{{item.RevenueAmount?numeral(item.RevenueAmount).format('0,0.00'):'-'}}</view>
<view class="revenueLabel">合计</view>
</view>
<view class="revenueItem">
<view class="revenueValue">{{item.CashAmount?numeral(item.CashAmount).format('0,0.00'):'-'}}</view>
<view class="revenueLabel">现金</view>
</view>
<view class="revenueItem">
<view class="revenueValue">{{item.MobilePayAmount?numeral(item.MobilePayAmount).format('0,0.00'):'-'}}</view>
<view class="revenueLabel">微支付</view>
</view>
</view>
<view class="line"></view>
<view class="itemTitle">驿达收款</view>
<view class="revenueBox">
<view class="revenueItem">
<view class="revenueValue">{{item.RoyaltyAmount?numeral(item.RoyaltyAmount).format('0,0.00'):'-'}}</view>
<view class="revenueLabel">合计</view>
</view>
</view>
<view class="line"></view>
<view class="itemTitle">营收费用</view>
<view class="revenueBox">
<view class="revenueItem">
<view class="revenueValue">{{item.ReceivableAmount?numeral(item.ReceivableAmount).format('0,0.00'):'-'}}</view>
<view class="revenueLabel">合计</view>
</view>
<view class="revenueItem">
<view class="revenueValue">{{item.GuaranteeFee?numeral(item.GuaranteeFee).format('0,0.00'):'-'}}</view>
<view class="revenueLabel">租金</view>
</view>
<view class="revenueItem">
<view class="revenueValue">{{item.RefundSupplement?numeral(item.RefundSupplement).format('0,0.00'):'-'}}</view>
<view class="revenueLabel">退补款</view>
</view>
</view>
</view>
<view class="stateBox" v-if="detailObj.Approvalstate!==9">
<image class="stateIcon" :src="detailObj.Approvalstate===0?'/static/images/settlementApproval/stateIcon.png':detailObj.Approvalstate===1?'/static/images/settlementApproval/pendIcon.png':''"/>
<span class="stateText">{{detailObj.Approvalstate===0?'待结算':detailObj.Approvalstate===1?'审核中':''}}</span>
</view>
<view class="overBox" v-else>
<image class="overIcon" src="/static/images/settlementApproval/isPassIcon.png"/>
</view>
</view>
</view>
<view v-else>
<view class="pageDetailBox">
<view class="detailBoxTop">
<span class="detailBoxTitle">合作商户合同期结算明细表</span>
<view class="goMoreMonth" v-if="item.children && item.children.length>0" @click="handleGoMonthList(item)">
查看月度结算
<image class="rightArrow" src="https://eshangtech.com/ShopICO/ahyd-BID/newIndex3/labourRight.png"/>
</view>
</view>
<view class="detailBoxTime">
<image class="timeIcon" src="/static/images/settlementApproval/timeIcon.png"/>
<view class="endTime">结算时间{{item.StartDate || ''}} {{item.EndDate || ''}}</view>
</view>
<view class="table">
<view class="tableHeader">
<view class="firstTableTitle">数据类型</view>
<view class="borderRight"></view>
<view class="otherTableTitle">
<image class="dataIcon" src="/static/images/settlementApproval/settlementIcon.png"/>
结算数据
</view>
<view class="borderRight"></view>
<view class="otherTableTitle">
<image class="dataIcon" src="/static/images/settlementApproval/successData.png"/>
精算数据
</view>
</view>
<view class="tableBody">
<view class="tableRow">
<view class="labelRow refundPay">退补款</view>
<view class="borderRight"></view>
<view class="valueRow refundPay">{{item.RefundSupplement?numeral(item.RefundSupplement).format('0,0.00'):'-'}}</view>
<view class="borderRight"></view>
<view class="valueRow refundPay">{{yearDataListObj.RefundSupplement?numeral(yearDataListObj.RefundSupplement).format('0,0.00'):''}}</view>
</view>
<view class="tableRow tableRowGray">
<view class="labelRow">营业额合计</view>
<view class="borderRight"></view>
<view class="valueRow">{{item.RevenueAmount?numeral(item.RevenueAmount).format('0,0.00'):'-'}}</view>
<view class="borderRight"></view>
<view class="valueRow">
{{yearDataListObj.RevenueAmountTEXT?yearDataListObj.RevenueAmountTEXT:''}}
<view style="color: red" v-if="yearDataListObj.CorrectAmount">({{yearDataListObj.CorrectAmount>0?'+':''}}{{yearDataListObj.CorrectAmountTEXT || ''}})</view>
</view>
</view>
<view class="tableRow">
<view class="labelRow" style="padding-left: 44rpx">现金</view>
<view class="borderRight"></view>
<view class="valueRow">{{item.CashAmount?numeral(item.CashAmount).format('0,0.00'):'-'}}</view>
<view class="borderRight"></view>
<view class="valueRow">{{yearDataListObj.CashAmount?numeral(yearDataListObj.CashAmount).format('0,0.00'):''}}</view>
</view>
<view class="tableRow tableRowGray">
<view class="labelRow" style="padding-left: 44rpx">微支付</view>
<view class="borderRight"></view>
<view class="valueRow">{{item.MobilePayAmount?numeral(item.MobilePayAmount).format('0,0.00'):'-'}}</view>
<view class="borderRight"></view>
<view class="valueRow">{{yearDataListObj.MobilePayAmount?numeral(yearDataListObj.MobilePayAmount).format('0,0.00'):''}}</view>
</view>
<view class="tableRow">
<view class="labelRow">驿达收款</view>
<view class="borderRight"></view>
<view class="valueRow">{{item.RoyaltyAmount?numeral(item.RoyaltyAmount).format('0,0.00'):'-'}}</view>
<view class="borderRight"></view>
<view class="valueRow">{{yearDataListObj.RoyaltyAmount?numeral(yearDataListObj.RoyaltyAmount).format('0,0.00'):''}}</view>
</view>
<view class="tableRow tableRowGray">
<view class="labelRow">营收费用合计</view>
<view class="borderRight"></view>
<view class="valueRow">{{item.ReceivableAmount?numeral(item.ReceivableAmount).format('0,0.00'):'-'}}</view>
<view class="borderRight"></view>
<view class="valueRow">{{yearDataListObj.ReceivableAmount?numeral(yearDataListObj.ReceivableAmount).format('0,0.00'):''}}</view>
</view>
<view class="tableRow">
<view class="labelRow" style="padding-left: 44rpx">租金</view>
<view class="borderRight"></view>
<view class="valueRow">{{item.GuaranteeFee || item.GuaranteeFee===0?numeral(item.GuaranteeFee).format('0,0.00'):'-'}}</view>
<view class="borderRight"></view>
<view class="valueRow">{{yearDataListObj.GuaranteeFee?numeral(yearDataListObj.GuaranteeFee).format('0,0.00'):''}}</view>
</view>
<view class="tableRow tableRowGray">
<view class="labelRow" style="padding-left: 44rpx">物业费</view>
<view class="borderRight"></view>
<view class="valueRow">{{item.PropertyFee || item.PropertyFee===0?numeral(item.PropertyFee).format('0,0.00'):'-'}}</view>
<view class="borderRight"></view>
<view class="valueRow">{{yearDataListObj.PropertyFee || yearDataListObj.PropertyFee===0?numeral(yearDataListObj.PropertyFee).format('0,0.00'):''}}</view>
</view>
<view class="tableRow">
<view class="labelRow" style="padding-left: 44rpx">房租</view>
<view class="borderRight"></view>
<view class="valueRow">{{item.HouseRent || item.HouseRent===0?numeral(item.HouseRent).format('0,0.00'):'-'}}</view>
<view class="borderRight"></view>
<view class="valueRow">{{yearDataListObj.HouseRent || yearDataListObj.HouseRent===0?numeral(yearDataListObj.HouseRent).format('0,0.00'):''}}</view>
</view>
<view class="tableRow tableRowGray">
<view class="labelRow" style="padding-left: 44rpx">罚款</view>
<view class="borderRight"></view>
<view class="valueRow">{{item.BreachPenalty || item.BreachPenalty===0?numeral(item.BreachPenalty).format('0,0.00'):'-'}}</view>
<view class="borderRight"></view>
<view class="valueRow">{{yearDataListObj.BreachPenalty || yearDataListObj.BreachPenalty===0?numeral(yearDataListObj.BreachPenalty).format('0,0.00'):''}}</view>
</view>
<view class="tableRow">
<view class="labelRow" style="padding-left: 44rpx">电费</view>
<view class="borderRight"></view>
<view class="valueRow">{{item.ElectricityCharge || item.ElectricityCharge===0?numeral(item.ElectricityCharge).format('0,0.00'):'-'}}</view>
<view class="borderRight"></view>
<view class="valueRow">{{yearDataListObj.ElectricityCharge || yearDataListObj.ElectricityCharge===0?numeral(yearDataListObj.ElectricityCharge).format('0,0.00'):''}}</view>
</view>
<view class="tableRow tableRowGray">
<view class="labelRow" style="padding-left: 44rpx">水费</view>
<view class="borderRight"></view>
<view class="valueRow">{{item.WaterCharge || item.WaterCharge===0?numeral(item.WaterCharge).format('0,0.00'):'-'}}</view>
<view class="borderRight"></view>
<view class="valueRow">{{yearDataListObj.WaterCharge || yearDataListObj.WaterCharge===0?numeral(yearDataListObj.WaterCharge).format('0,0.00'):''}}</view>
</view>
<view class="tableRow">
<view class="labelRow" style="padding-left: 44rpx">其他</view>
<view class="borderRight"></view>
<view class="valueRow">{{item.OtherFee || item.OtherFee===0?numeral(item.OtherFee).format('0,0.00'):'-'}}</view>
<view class="borderRight"></view>
<view class="valueRow">{{yearDataListObj.OtherFee || yearDataListObj.OtherFee===0?numeral(yearDataListObj.OtherFee).format('0,0.00'):''}}</view>
</view>
</view>
</view>
</view>
</view>
</view>
<view class="tableBoxs">
<view class="amountBox">
<div class="commodityContent">
<input class="color1" type="number" v-model="correctionAmount"/>
<div>
<span class="ctitle">冲正金额</span>
</div>
</div>
<view class="btn">
<span class="btnItem" @click="handleRecalibrate">精算数据</span>
<span class="btnItem" v-if="isSuccessRecalibrate" style="margin-left: 16rpx" @click="handleShowApplyForPop">发起申请</span>
</view>
</view>
</view>
</view>
<view style="background: #fff" v-if="false">
<view class="tableBox" >
<view class="smallTitle">合作商户合同期结算明细表</view>
<view class="smallTitle">结算数据</view>
@ -346,16 +581,16 @@
<!--发起结算的按钮-->
<view class="btnBox" v-if="isSuccessRecalibrate">
<view class="btnList">
<view class="btnItem" @click="handleShowApplyForPop">
<view class="iconBox">
<image class="itemIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/yj-btn.png"/>
</view>
<span>发起申请</span>
</view>
</view>
</view>
<!-- <view class="btnBox" v-if="isSuccessRecalibrate">-->
<!-- <view class="btnList">-->
<!-- <view class="btnItem" @click="handleShowApplyForPop">-->
<!-- <view class="iconBox">-->
<!-- <image class="itemIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/yj-btn.png"/>-->
<!-- </view>-->
<!-- <span>发起申请</span>-->
<!-- </view>-->
<!-- </view>-->
<!-- </view>-->
<!-- 年度申请 -->
<UniPop :show="isShowYearApplyFor" @hidePopup="closeYearApplyFor" type="middle" @touchmove.prevent round="true">
@ -431,12 +666,15 @@ export default {
approveDesc:'',//
yearId:'',// id
yearAfterData:[],//
menu:{},//
yearDataListObj:{}
}
},
computed: {
...mapGetters({'users':'getUser'}),
},
async onLoad(query){
this.menu = uni.getMenuButtonBoundingClientRect()
console.log('query',query)
if(query.obj){
this.detailObj = JSON.parse(query.obj)
@ -454,6 +692,16 @@ export default {
},
methods:{
numeral,
//
handleGoMonthList(obj){
console.log('obj',obj)
let list = JSON.stringify(obj.children)
this.$util.toNextRoute('navigateTo', `/pages/settlementApproval/monthList?list=${list}&detailObj=${JSON.stringify(this.detailObj)}`)
},
//
handleBack(){
this.$util.toNextRoute('navigateBack',{ delta: 1})
},
//
handleShowApplyForPop(){
this.isShowYearApplyFor = true
@ -603,6 +851,7 @@ export default {
//
handleRecalibrate(){
let newReqList = []
console.log('this.yearDataList',this.yearDataList)
this.yearDataList.forEach((item) => {
if (item.PeriodDesc !== '精算数据') {
newReqList.push(item)
@ -628,9 +877,26 @@ export default {
let list = []
newObj.PeriodDesc = '精算数据'
newObj.children = null
console.log('newObj',newObj)
list.push(newObj)
this.yearDataListAfter = list
console.log('this.yearDataList',this.yearDataList)
list.forEach(item => {
item.level = 1
item.CorrectAmount = this.correctionAmount
item.showChildren = false
item.CashAmountTEXT = numeral(item.CashAmount).format('0,0.00')
item.MobilePayAmountTEXT = numeral(item.MobilePayAmount).format('0,0.00')
item.RevenueAmountTEXT = numeral(item.RevenueAmount).format('0,0.00')
// numeral(this.$util.getMoney(item.RevenueAmount)).format('0,0.00') + (item.CorrectAmount ? ('(' + (item.CorrectAmount > 0 ? '+' : '') + item.CorrectAmount + ')') : '')
item.CorrectAmountTEXT = numeral(item.CorrectAmount).format('0,0.00')
item.RoyaltyAmountTEXT = numeral(item.RoyaltyAmount).format('0,0.00')
item.ReceivableAmountTEXT = numeral(item.ReceivableAmount).format('0,0.00')
item.GuaranteeFeeTEXT = numeral(item.GuaranteeFee).format('0,0.00')
item.RefundSupplementTEXT = numeral(item.RefundSupplement).format('0,0.00')
item.children = null
})
this.yearDataListObj = list[0]
console.log('this.yearDataListAfter',this.yearDataListAfter)
this.isSuccessRecalibrate = true
},
//
@ -915,6 +1181,8 @@ export default {
<style scoped lang="scss">
.main{
width: 100%;
height: 100vh;
.pageTitle{
width: 100%;
box-sizing: border-box;
@ -1037,12 +1305,611 @@ export default {
padding: 6rpx 24rpx;
margin-top: 24rpx;
border-radius: 8rpx;
background: #1890FF;
background: #FA8B39;
color: #fff;
}
}
}
}
.renovationBox{
width: 100%;
//width: calc(100% - 48rpx);
//margin-left: 24rpx;
box-sizing: border-box;
padding: 2rpx;
border-radius: 16rpx;
.renovationContent{
width: 100%;
background: linear-gradient( 180deg, #FFF7F2 0%, #FFFFFF 20%);
box-sizing: border-box;
border-radius: 16rpx;
padding: 22rpx;
position: relative;
.renovationTop{
display: flex;
align-items: center;
margin-bottom: 40rpx;
.topLeft{
margin-right: 16rpx;
width: 80rpx;
height: 80rpx;
border-radius: 8rpx;
overflow: hidden;
.renovationIcon{
width: 80rpx;
height: 80rpx;
}
}
.topRight{
flex: 1;
.contentTitle{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 32rpx;
color: #160002;
line-height: 44rpx;
text-align: left;
font-style: normal;
}
.timeBox{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 28rpx;
color: #786B6C;
line-height: 40rpx;
text-align: left;
font-style: normal;
}
.goMoreMonth{
font-family: PingFangSC, PingFang SC;
font-weight: 600;
font-size: 28rpx;
color: #FA8B39;
line-height: 40rpx;
text-align: left;
font-style: normal;
.rightArrow{
width: 24rpx;
height: 24rpx;
}
}
}
}
.renovationMoney{
.itemTitle{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 28rpx;
color: #786B6C;
line-height: 40rpx;
text-align: left;
font-style: normal;
}
.revenueBox{
margin-top: 16rpx;
display: flex;
.revenueItem{
width: calc(100% / 3);
.revenueValue{
font-family: DINAlternate, DINAlternate;
font-weight: bold;
font-size: 36rpx;
color: #160002;
line-height: 44rpx;
text-align: left;
font-style: normal;
}
.revenueLabel{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 24rpx;
color: #786B6C;
line-height: 36rpx;
text-align: left;
font-style: normal;
marginTop: 4rpx;
}
}
}
.line{
width: 100%;
height: 2rpx;
background: #F5F5F5;
border-radius: 11rpx;
margin: 24rpx 0;
}
}
.pageDetailBox{
width: 100%;
box-sizing: border-box;
padding: 32rpx;
background-color: #fff;
border-radius: 32rpx 32rpx 0rpx 0rpx;
.detailBoxTop{
display: flex;
align-items: center;
justify-content: space-between;
.detailBoxTitle{
font-family: PingFangSC, PingFang SC;
font-weight: 600;
font-size: 32rpx;
color: #212226;
line-height: 44rpx;
text-align: left;
font-style: normal;
}
.goMoreMonth{
font-family: PingFangSC, PingFang SC;
font-weight: 600;
font-size: 28rpx;
color: #FA8B39;
line-height: 40rpx;
text-align: left;
font-style: normal;
.rightArrow{
width: 24rpx;
height: 24rpx;
}
}
}
.detailBoxTime{
display: flex;
align-items: center;
margin-bottom: 20rpx;
margin-top: 8rpx;
.timeIcon{
width: 28rpx;
height: 28rpx;
margin-right: 8rpx;
}
.endTime{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 28rpx;
color: #786B6C;
line-height: 40rpx;
text-align: left;
font-style: normal;
}
}
.table{
width: calc(100% - 4rpx);
border-radius: 12rpx;
border: 2rpx solid #EEEEF0;
.tableHeader{
display: flex;
align-items: center;
width: 100%;
height: 156rpx;
background-color: #F7F8FA;
.firstTableTitle{
width: 30%;
box-sizing: border-box;
padding-left: 24rpx;
}
.borderRight{
width: 2rpx;
height: 100%;
background-color: #F1F1F1;
}
.otherTableTitle{
width: 35%;
display: flex;
flex-direction: column;
align-items: center;
.dataIcon{
width: 60rpx;
height: 60rpx;
margin-bottom: 8rpx;
}
}
}
.tableBody{
.tableRow{
width: 100%;
height: 100%;
display: flex;
align-items: center;
.labelRow{
width: 30%;
box-sizing: border-box;
padding: 22rpx 0 22rpx 22rpx;
}
.refundPay{
font-family: PingFangSC, PingFang SC;
font-weight: 600;
font-size: 24rpx;
color: #9A3D1A;
line-height: 36rpx;
text-align: left;
font-style: normal;
}
.borderRight{
width: 2rpx;
min-height: 80rpx;
background-color: #F1F1F1;
}
.valueRow{
width: 35%;
box-sizing: border-box;
padding: 22rpx 24rpx 22rpx 0;
text-align: right;
}
}
.tableRowGray{
background-color: #F9F9FA!important;
}
}
}
.progressList{
width: 100%;
margin-top: 48rpx;
.progressTitle{
font-family: PingFangSC, PingFang SC;
font-weight: 600;
font-size: 32rpx;
color: #212226;
line-height: 44rpx;
text-align: left;
font-style: normal;
}
.listBox{
margin-top: 24rpx;
width: 100%;
.listItem{
.itemLeft{
.nameIcon{
width: 72rpx;
height: 72rpx;
background: #FFA35F;
border-radius: 40rpx;
position: relative;
display: flex;
align-items: center;
justify-content: center;
.successIcon{
position: absolute;
width: 32rpx;
height: 32rpx;
right: 0;
bottom: 0;
}
.name{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 24rpx;
color: #FFFFFF;
line-height: 32rpx;
text-align: left;
font-style: normal;
}
.defaultPerson{
width: 32rpx;
height: 36rpx;
}
}
}
.itemRight{
.nameBox{
display: flex;
align-items: center;
justify-content: space-between;
.name{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 28rpx;
color: #242729;
line-height: 40rpx;
text-align: left;
font-style: normal;
}
.time{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 28rpx;
color: #9FA3A8;
line-height: 40rpx;
text-align: left;
font-style: normal;
}
}
.desc{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 28rpx;
color: #9FA3A8;
line-height: 40rpx;
text-align: left;
font-style: normal;
}
}
}
}
}
}
.stateBox{
position: absolute;
right: 0;top: 0;
display: flex;
align-items: center;
padding: 10rpx 16rpx;
background: linear-gradient( 48deg, #FF9762 0%, #FF8C8C 100%);
border-radius: 0rpx 16rpx 0rpx 38rpx;
.stateIcon{
width: 28rpx;
height: 28rpx;
margin-right: 6rpx;
}
.stateText{
font-family: PingFangSC, PingFang SC;
font-weight: 500;
font-size: 24rpx;
color: #FFFFFF;
line-height: 36rpx;
text-align: left;
font-style: normal;
}
}
.overBox{
position: absolute;
right: 30rpx;top: 30rpx;
.overIcon{
width: 134rpx;
height: 134rpx;
}
}
}
.pageDetailBox{
width: 100%;
box-sizing: border-box;
padding: 32rpx;
background-color: #fff;
border-radius: 32rpx 32rpx 0rpx 0rpx;
.detailBoxTop{
display: flex;
align-items: center;
justify-content: space-between;
.detailBoxTitle{
font-family: PingFangSC, PingFang SC;
font-weight: 600;
font-size: 32rpx;
color: #212226;
line-height: 44rpx;
text-align: left;
font-style: normal;
}
.goMoreMonth{
font-family: PingFangSC, PingFang SC;
font-weight: 600;
font-size: 28rpx;
color: #FA8B39;
line-height: 40rpx;
text-align: left;
font-style: normal;
.rightArrow{
width: 24rpx;
height: 24rpx;
}
}
}
.detailBoxTime{
display: flex;
align-items: center;
margin-bottom: 20rpx;
margin-top: 8rpx;
.timeIcon{
width: 28rpx;
height: 28rpx;
margin-right: 8rpx;
}
.endTime{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 28rpx;
color: #786B6C;
line-height: 40rpx;
text-align: left;
font-style: normal;
}
}
.table{
width: calc(100% - 4rpx);
border-radius: 12rpx;
border: 2rpx solid #EEEEF0;
.tableHeader{
display: flex;
align-items: center;
width: 100%;
height: 156rpx;
background-color: #F7F8FA;
.firstTableTitle{
width: 30%;
box-sizing: border-box;
padding-left: 24rpx;
}
.borderRight{
width: 2rpx;
height: 100%;
background-color: #F1F1F1;
}
.otherTableTitle{
width: 35%;
display: flex;
flex-direction: column;
align-items: center;
.dataIcon{
width: 60rpx;
height: 60rpx;
margin-bottom: 8rpx;
}
}
}
.tableBody{
.tableRow{
width: 100%;
height: 100%;
display: flex;
.labelRow{
width: 30%;
box-sizing: border-box;
padding: 22rpx 0 22rpx 22rpx;
}
.refundPay{
font-family: PingFangSC, PingFang SC;
font-weight: 600;
font-size: 24rpx;
color: #9A3D1A;
line-height: 36rpx;
text-align: left;
font-style: normal;
}
.borderRight{
width: 2rpx;
min-height: 80rpx;
background-color: #F1F1F1;
}
.valueRow{
width: 35%;
box-sizing: border-box;
padding: 22rpx 24rpx 22rpx 0;
text-align: right;
}
}
.tableRowGray{
background-color: #F9F9FA!important;
}
}
}
.progressList{
width: 100%;
margin-top: 48rpx;
.progressTitle{
font-family: PingFangSC, PingFang SC;
font-weight: 600;
font-size: 32rpx;
color: #212226;
line-height: 44rpx;
text-align: left;
font-style: normal;
}
.listBox{
margin-top: 24rpx;
width: 100%;
.listItem{
.itemLeft{
.nameIcon{
width: 72rpx;
height: 72rpx;
background: #FFA35F;
border-radius: 40rpx;
position: relative;
display: flex;
align-items: center;
justify-content: center;
.successIcon{
position: absolute;
width: 32rpx;
height: 32rpx;
right: 0;
bottom: 0;
}
.name{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 24rpx;
color: #FFFFFF;
line-height: 32rpx;
text-align: left;
font-style: normal;
}
.defaultPerson{
width: 32rpx;
height: 36rpx;
}
}
}
.itemRight{
.nameBox{
display: flex;
align-items: center;
justify-content: space-between;
.name{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 28rpx;
color: #242729;
line-height: 40rpx;
text-align: left;
font-style: normal;
}
.time{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 28rpx;
color: #9FA3A8;
line-height: 40rpx;
text-align: left;
font-style: normal;
}
}
.desc{
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 28rpx;
color: #9FA3A8;
line-height: 40rpx;
text-align: left;
font-style: normal;
}
}
}
}
}
}
.tableBoxs{
background-color: #fff;
padding-bottom: 32rpx;
.amountBox{
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
.commodityContent {
box-sizing: border-box;
display: flex;
align-items: center;
width: 180rpx;
justify-content: center;
/* padding-top: 6rpx; */
box-shadow: 0px 1rpx 8rpx 0.4rpx #ccc;
flex-direction: column;
border-radius: 4rpx;
.color1{
}
}
.btn{
width: 100%;
display: flex;
align-items: center;
justify-content: center;
.btnItem{
display: inline-block;
padding: 6rpx 24rpx;
margin-top: 24rpx;
border-radius: 8rpx;
background: #FA8B39;
color: #fff;
}
}
}
}
}
.line{
height: 2rpx;
width: 100%;
@ -1166,7 +2033,7 @@ export default {
padding: 6rpx 24rpx;
margin-top: 24rpx;
border-radius: 8rpx;
background: #1890FF;
background: #FA8B39;
color: #fff;
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 894 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 675 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 522 B