ahyd_DIB/pages/revenue/index.vue
2023-08-21 18:32:02 +08:00

2559 lines
94 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 class="main">
<view class="meng" v-if="showCost || showPay|| showMonthRevenue|| showMonthExpenditure|| successRate|| thisYearSum|| nowYearSumRate|| showNetProfit|| budget|| showYearNetProfit|| revenueAll|| revenueSuccess|| revenueCostRate|| nowYearSum|| budgetSum|| incomeSuccess|| nowYearBudget|| nowYearRevenueCost|| compareYesSuccessRate|| userRevenueSmallSum|| thisMonthSum|| thisMonthRevenueRate|| thisMonthSmallSumSuccess1st|| thisMonthSmallSumSuccess2st|| thisMonthSmallSumSuccess2stTitle|| otherSmallSum"
@click="handleShowNotice('false')"></view>
<view class="meng" v-if="otherLeftChar || otherMonthSum ||otherThisMonthRate ||otherThisMonthSuccess || serviceSmallSum" @click="handleShowNotice2('false')"></view>
<!-- :style="{height: ((668/750) * pageWidth + 36)+'px'}"-->
<view class="header" >
<!-- <image class="headerBg" src="https://eshangtech.com/ShopICO/ahyd-BID/revenueBox/revenyeBg.png"/>-->
<view class="headerTop" :style="{height:(menu.top + menu.height) + 'px'}">
<view class="headerBox">
<!-- <image class="headerBg" src="https://eshangtech.com/ShopICO/ahyd-BID/revenueBox/revenyeBg.png"/>-->
<view class="imageBox" :style="{height:menu.height + 'px',bottom:0}">
<image @click="handleBack" class="backIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/examine/leftArrowWhite.svg"></image>
</view>
</view>
</view>
<view :style="{width: '100%',height:(menu.top + menu.height) + 'px'}"></view>
<!-- :style="{top: (menu.bottom+18) +'px'}"-->
<view class="pageTitle" >收支预测</view>
<view class="headerDetail" :style="{top: (menu.bottom+68) +'px'}">
<view class="detailBox">
<image class="monthSumBg" src="https://eshangtech.com/ShopICO/ahyd-BID/revenueBox/monthSum.png"/>
<view class="detailPage">
<text class="detailPageTitle">7月累计收支比例</text>
</view>
<view class="moneyBox">
<view class="moneyItem">
<view class="itemTop">
<view class="itemChart">
<YearCharts :success="firstBox1st"/>
</view>
<view class="itemMessage">
<text class="itemRate">39.39%</text>
<view class="itemLabel">
成本比
<view class="notice" @click="handleShowNotice('showCost')">?
<view class="noticeBox" :style="{left:0,zIndex:9}" v-if="showCost" @click.stop="handleShowNotice('showCost')">
<text>成本比本月成本 / 本月收入</text>
</view>
</view>
</view>
</view>
</view>
<view class="successBox">
<view class="successBoxItem">
<text class="successNumber">7,099.41</text>
<view class="successTime">本月收入
<text class="successUnit">/万元</text>
<view class="notice" @click="handleShowNotice('showMonthRevenue')">?
<view class="noticeBox" v-if="showMonthRevenue" @click.stop="handleShowNotice('showMonthRevenue')">
<text>本月收入营业收入 + 营业外收入</text>
</view>
</view>
</view>
</view>
<view class="successBoxItem" style="margin-top: 12rpx">
<text class="successNumber" style="color: #E83944">+50.59%</text>
<text class="successTime">同比</text>
</view>
</view>
</view>
<view class="moneyItem">
<view class="itemTop">
<view class="itemChart">
<YearCharts :success="firstBox2st"/>
</view>
<view class="itemMessage">
<text class="itemRate">167.27%</text>
<view class="itemLabel">
收支比
<view class="notice" @click="handleShowNotice('showPay')">?
<view class="noticeBox" :style="{right: 0}" v-if="showPay" @click.stop="handleShowNotice('showPay')">
<text>收支比本月成本 / 本月支出</text>
</view>
</view>
</view>
</view>
</view>
<view class="successBox">
<view class="successBoxItem">
<text class="successNumber">4,244.22</text>
<view class="successTime">
本月支出
<text class="successUnit">/万元</text>
<view class="notice" @click="handleShowNotice('showMonthExpenditure')">?
<view class="noticeBox" v-if="showMonthExpenditure"
@click.stop="handleShowNotice('showMonthExpenditure')">
<text>本月支出=管理费用 + 销售费用 + 财务费用 + 营业外支出</text>
</view>
</view>
</view>
</view>
<view class="successBoxItem" style="margin-top: 12rpx">
<text class="successNumber" style="color: #E83944">+9.12%</text>
<text class="successTime">同比</text>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
<view class="content">
<view class="profitYear">
<view class="itemBox">
<view class="itemBoxTitle">2023年度累计利润</view>
<image class="monthSumBg" src="https://eshangtech.com/ShopICO/ahyd-BID/revenueBox/yearSum.png"/>
<view class="itemDetailBox">
<view class="detailBoxTop">
<view class="successLabel">
<text class="successLabelText"></text>完成率
<view class="notice" @click="handleShowNotice('successRate')">?
<view class="noticeBox" v-if="successRate" @click.stop="handleShowNotice('successRate')">
<text>完成率=本年累计/年度预算(389.00/275.00)</text>
</view>
</view>
</view>
<text class="successValue">{{secondBoxProgress + '%'}}</text>
</view>
<view class="progress">
<view class="have" :style="{width:secondBoxProgress>100?'100%':secondBoxProgress + '%'}"></view>
</view>
<view class="yearDetail">
<view class="yearItem">
<view class="itemValue">
389.00
<view class="notice" @click="handleShowNotice('thisYearSum')">?
<view class="noticeBox" v-if="thisYearSum" @click.stop="handleShowNotice('thisYearSum')">
<text>本年度利润总额的累计数</text>
</view>
</view>
</view>
<text class="itemLabel">本年累计<text class="itemUnit">/万元</text></text>
</view>
<view class="yearItem">
<view class="itemValue">
275.00
<view class="notice" @click="handleShowNotice('budget')">?
<view class="noticeBox" :style="{ left: 'calc(33.3% + 30px)', top: '40px' }" v-if="budget"
@click.stop="handleShowNotice('budget')">
<text>本年度利润总额的预算数</text>
</view>
</view>
</view>
<text class="itemLabel">年度预算<text class="itemUnit">/万元</text></text>
</view>
<view class="yearItem" style="width: 80px">
<view class="itemValue" style="color: #E83944">+105.59%</view>
<text class="itemLabel">同比</text>
</view>
</view>
<view class="yearDetail">
<view class="yearItem">
<view class="itemValue">292.00</view>
<text class="itemLabel">本年净利润<text class="itemUnit">/万元</text></text>
</view>
<view class="yearItem">
<view class="itemValue">
156.00
<view class="notice" @click="handleShowNotice('showNetProfit')">?
<view class="noticeBox" :style="{ left: 'calc(33.3% + 30px)', top: '115px' }" v-if="showNetProfit"
@click.stop="handleShowNotice('showNetProfit')">
<text>本年度净利润的预算数</text>
</view>
</view>
</view>
<text class="itemLabel">净利润预算<text class="itemUnit">/万元</text></text>
</view>
<view class="yearItem" style="width: 80px">
<view class="itemValue" style="color: #E83944">187.18%</view>
<view class="itemLabel" style="display: flex;align-items: center">
完成度
<view class="notice" @click="handleShowNotice('showYearNetProfit')">?
<view class="noticeBox" :style="{ left: 'calc(33.3% + 30px)', top: '115px' }" v-if="showYearNetProfit"
@click.stop="handleShowNotice('showYearNetProfit')">
<text>完成度=本年净利润/净利润预算(292.00/156.00)</text>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
<view class="accrueYear">
<view class="itemBox">
<view style="width:100%;display: flex;align-items: center">
<view class="itemBoxTitle">2023年营收累计</view>
<view class="notice" @click="handleShowNotice('revenueAll')">?
<view class="noticeBox" :style="{ left: '50%', top: '0px' }" v-if="revenueAll"
@click.stop="handleShowNotice('revenueAll')">
<text>不包含营业外收入</text>
</view>
</view>
</view>
<image class="monthSumBg" src="https://eshangtech.com/ShopICO/ahyd-BID/revenueBox/yearRevenue.png" />
<view class="itemDetailBox">
<view class="leftCharts" @click="handleShowNotice('revenueSuccess')">
<OtherCharts :success="thirdBoxRate" :colorList="['#9E3CE9', '#ECD8FB']" />
<text class="numberValue">65.12%</text>
</view>
<view class="notices">
<view class="noticeBox" :style="{ left: '0px', top: '50%' }" v-if="revenueSuccess"
@click.stop="handleShowNotice('revenueSuccess')">
<text>完成率=本年累计 / 年度预算(472,356,021.71/725,370,000.00)</text>
</view>
</view>
<view class="rightBox">
<view class="rightBoxTop">
<view class="itemTop">
<text class="itemTopValue">47,235.60</text>
<text class="itemTopTitle">本年累计<text class="itemTopUnit">/万元</text></text>
</view>
<view class="itemRateBox">
<view class="addRate">38.23%</view>
<view class="rateText" style="display: flex;align-items: center">
成本比
<view class="notice" @click="handleShowNotice('revenueCostRate')">?
<view class="noticeBox" :style="{ right: '0px', top: '30%' }" v-if="revenueCostRate"
@click.stop="handleShowNotice('revenueCostRate')">
<text>成本比=本年成本/本年累计收入(180,563,832.50/472,356,021.71)</text>
</view>
</view>
</view>
</view>
</view>
<view class="rightBoxTop">
<view class="itemTop">
<text class="itemTopValue">72,537.00</text>
<text class="itemTopTitle">年度预算<text class="itemTopUnit">/万元</text></text>
</view>
<view class="itemRateBox">
<view class="addRate">+47.81%</view>
<view class="rateText" style="display: flex;align-items: center">
同比
<view class="notice" @click="handleShowNotice('budgetSum')">?
<view class="noticeBox" :style="{ right: '0px', top: '80%' }" v-if="budgetSum"
@click.stop="handleShowNotice('budgetSum')">
<text>本年累计营收的同比值</text>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
<view class="incomeAll">
<view class="itemBox">
<view style="width:100%;display: flex;align-items: center">
<view class="itemBoxTitle" style="color: #EC6C00">2023年收入合计</view>
<view class="notice" @click="handleShowNotice('nowYearSum')">?
<view class="noticeBox" :style="{ left: '33%', top: '20px' }" v-if="nowYearSum"
@click.stop="handleShowNotice('nowYearSum')">
<text>包含营业外收入</text>
</view>
</view>
</view>
<image class="monthSumBg" src="https://eshangtech.com/ShopICO/ahyd-BID/revenueBox/allInCome.png" />
<view class="itemDetailBox">
<view class="leftCharts" @click="handleShowNotice('incomeSuccess')">
<OtherCharts :success="firthBox1stRate" :colorList="['#FC7909', '#FEE4CE']" />
<text class="numberValue" style="color: #FE7500">65.18%</text>
<view class="notices">
<view class="noticeBox" :style="{ left: '0px', top: '50%' }" v-if="incomeSuccess"
@click.stop="handleShowNotice('incomeSuccess')">
<text>完成率=本年累计 / 年度预算(473,766,021.71/726,870,000.00)</text>
</view>
</view>
</view>
<view class="rightBox">
<view class="rightBoxTop">
<view class="itemTop">
<text class="itemTopValue">47,376.60</text>
<view class="itemTopTitle" style="display: flex;align-items: center">
本年累计
<text class="itemTopUnit">/万元</text>
</view>
</view>
<view class="itemRateBox">
<view class="addRate">38.11%</view>
<view class="rateText" style="display: flex;align-items: center">
成本比
<view class="notice" @click="handleShowNotice('nowYearRevenueCost')">?
<view class="noticeBox" :style="{ right: '0', top: '20px' }" v-if="nowYearRevenueCost"
@click.stop="handleShowNotice('nowYearRevenueCost')">
<text>成本比=本年累计成本/本年累计收入(180,563,832.50/473,766,021.71)</text>
</view>
</view>
</view>
</view>
</view>
<view class="rightBoxTop" style="margin-top: 32rpx">
<view class="itemTop">
<text class="itemTopValue">72,687.00</text>
<view class="itemTopTitle" style="display: flex;align-items: center">
年度预算
<text class="itemTopUnit">/万元</text>
<view class="notice" @click="handleShowNotice('nowYearBudget')">?
<view class="noticeBox" :style="{ left: '33%', top: '80%' }" v-if="nowYearBudget"
@click.stop="handleShowNotice('nowYearBudget')">
<text>年度预算包含营业外</text>
</view>
</view>
</view>
</view>
<view class="itemRateBox">
<view class="addRate">+48.54%</view>
<view class="rateText" style="display: flex;align-items: center">
同比
<view class="notice" @click="handleShowNotice('nowYearSumRate')">?
<view class="noticeBox" :style="{ right: '0%', top: '80%' }" v-if="nowYearSumRate"
@click.stop="handleShowNotice('nowYearSumRate')">
<text>本年累计收入的同比值</text>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
<view class="itemDetailSubtotal">
<view class="itemSmallBox">
<view class="xian"></view>
<view class="itemSmallTop">
<view class="leftBox">
<view class="smallIcon">
<image class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/revenueBox/selfOperat.svg" />
</view>
<view style="display: flex;align-items: center">
<view class="smallTitle">自营收入小计</view>
<view class="notice" @click="handleShowNotice('userRevenueSmallSum')">?
<view class="noticeBox" :style="{ left: '30%', top: '0%' }" v-if="userRevenueSmallSum"
@click.stop="handleShowNotice('userRevenueSmallSum')">
<text>便利店餐饮及客房的累计数</text>
</view>
</view>
</view>
</view>
<view class="leftRight" @click="handleGoInComeDetail">
<text class="more">查看更多</text>
<image class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/revenueBox/moreIcon.svg" />
</view>
</view>
<view class="itemSmallDetail">
<view class="itemSmallLeftBox" @click="handleShowNotice('compareYesSuccessRate')">
<OtherCharts :success="firthBox2stRate" :colorList="['#FC7909', '#F9DCC2']" />
<text class="leftValue">71.70%</text>
<view class="notices">
<view class="noticeBox" :style="{ left: '30%', top: '100px' }" v-if="compareYesSuccessRate"
@click.stop="handleShowNotice('compareYesSuccessRate')">
<text>完成率=本年累计自营收入 / 自营收入的年度预算(339,787,552.17/473,920,000.00)</text>
</view>
</view>
</view>
<view class="itemSmallRightBox">
<view class="rightTopItem">
<view class="itemDetail">
<view class="detailValue" style="font-size: 26rpx">33,978.75</view>
<view class="detailTitle">本年累计<text class="detailTitleUnit">/万元</text></view>
</view>
<view class="itemDetail">
<view class="detailValue" style="font-size: 26rpx;display: flex;align-items: center">
5,070.82
<!-- <view class="notice" @click="handleShowNotice('thisMonthSum')">?
<view class="noticeBox" :style="{ right: '0px', top: '85px' }" v-if="thisMonthSum"
@click.stop="handleShowNotice('thisMonthSum')">
<text>7</text>
</view>
</view> -->
</view>
<view class="detailTitle">
7月累计
<text class="detailTitleUnit">/万元</text>
</view>
</view>
</view>
<view class="rightTopItem" style="margin-top: 32rpx">
<view class="itemDetail">
<view class="detailValue">47,392</view>
<view class="detailTitle">年度预算<text class="detailTitleUnit">/万元</text></view>
</view>
<view class="itemRight">
<view class="rightValue">14.92%</view>
<view class="rightLabel" style="display: flex;align-items: center">
本月占比
<view class="notice" @click="handleShowNotice('thisMonthRevenueRate')">?
<view class="noticeBox" :style="{ right: '0px', top: '120px' }" v-if="thisMonthRevenueRate"
@click.stop="handleShowNotice('thisMonthRevenueRate')">
<text>本月占比=7月自营收入 / 本年累计自营收入(50,708,267.25/339,787,552.17)</text>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
<view class="smallSum">
<view class="smallSumItem">
<view class="smallSumLeft">
<view class="smallSumItemBox"></view>
<text class="smallTitle">服务区自营小计</text>
</view>
<view class="smallSumRight" style="display: flex;align-items: center">
<text class="successText" style="margin-left: 4rpx">完成率</text>
<text class="successValue">64.21%</text>
<view class="notice" @click="handleShowNotice('thisMonthSmallSumSuccess1st')">?
<view class="noticeBox" :style="{ right: '0px', top: '190px' }" v-if="thisMonthSmallSumSuccess1st"
@click.stop="handleShowNotice('thisMonthSmallSumSuccess1st')">
<text>完成率=服务区自营收入 / 自营收入的年度预算(304,283,297.04/473,920,000.00)</text>
</view>
</view>
</view>
</view>
<view class="smallSumItem">
<view class="smallSumLeft" style="display: flex;align-items: center">
<view class="smallSumItemBox"></view>
<text class="smallTitle">分公司收入小计</text>
<view class="notice" @click="handleShowNotice('thisMonthSmallSumSuccess2stTitle')">?
<view class="noticeBox" :style="{ left: '0px', top: '210px' }"
v-if="thisMonthSmallSumSuccess2stTitle"
@click.stop="handleShowNotice('thisMonthSmallSumSuccess2stTitle')">
<text>城市店批发团购及通道费的累计数</text>
</view>
</view>
</view>
<view class="smallSumRight" style="display: flex;align-items: center">
<text class="successText" style="margin-left: 4rpx">完成率</text>
<text class="successValue">7.49%</text>
<view class="notice" @click="handleShowNotice('thisMonthSmallSumSuccess2st')">?
<view class="noticeBox" :style="{ right: '0px', top: '210px' }" v-if="thisMonthSmallSumSuccess2st"
@click.stop="handleShowNotice('thisMonthSmallSumSuccess2st')">
<text>完成率=分公司收入 / 自营收入的年度预算(35,504,255.13/473,920,000.00)</text>
</view>
</view>
</view>
</view>
</view>
</view>
<view class="itemSmallBox">
<view class="itemSmallTop">
<view class="leftBox" style="display: flex;align-items: center">
<view class="smallIcon">
<image class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/revenueBox/otherSum.svg" />
</view>
<view class="smallTitle">其他收入小计</view>
<view class="notice" @click="handleShowNotice('otherSmallSum')">?
<view class="noticeBox" :style="{ left: '30%', top: '20px' }" v-if="otherSmallSum"
@click.stop="handleShowNotice('otherSmallSum')">
<text>场地租赁物业及受托代管公共服务补贴营业外收入的累计数</text>
</view>
</view>
</view>
<view class="leftRight" @click="handleGoInComeDetail">
<text class="more">查看更多</text>
<image class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/revenueBox/moreIcon.svg" />
</view>
</view>
<view class="itemSmallDetail">
<view class="itemSmallLeftBox" @click="handleShowNotice2('otherLeftChar')">
<OtherCharts :success="firthBox3stRate" :colorList="['#FC7909', '#F9DCC2']" />
<text class="leftValue">52.97%</text>
<view class="notices">
<view class="noticeBox" :style="{ left: '30%', top: '100px' }" v-if="otherLeftChar"
@click.stop="handleShowNotice2('otherLeftChar')">
<text>完成率=7月其他收入 / 其他收入的年度预算(133,978,469.54/252,950,000.00)</text>
</view>
</view>
</view>
<view class="itemSmallRightBox">
<view class="rightTopItem">
<view class="itemDetail">
<view class="detailValue">13,397.84</view>
<view class="detailTitle">本年累计<text class="detailTitleUnit">/万元</text></view>
</view>
<view class="itemDetail">
<view class="detailValue" style="display: flex;align-items: center">
2,028.58
</view>
<view class="detailTitle">7月累计<text class="detailTitleUnit">/万元</text></view>
</view>
</view>
<view class="rightTopItem" style="margin-top: 32rpx">
<view class="itemDetail">
<view class="detailValue">25,295.00</view>
<view class="detailTitle">年度预算<text class="detailTitleUnit">/万元</text></view>
</view>
<view class="itemRight">
<view class="rightValue">15.14%</view>
<view class="rightLabel" style="display: flex;align-items: center">
本月占比
<view class="notice" @click="handleShowNotice2('otherThisMonthRate')">?
<view class="noticeBox" :style="{ right: '0px', top: '120px' }" v-if="otherThisMonthRate"
@click.stop="handleShowNotice2('otherThisMonthRate')">
<text>本月占比=7月其他收入 / 本年累计其他收入(20,285,867.69/133,978,469.54)</text>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
<view class="smallSum">
<view class="smallSumItem">
<view class="smallSumLeft">
<view class="smallSumItemBox"></view>
<text class="smallTitle">服务区租赁小计</text>
<view class="notice" @click="handleShowNotice2('serviceSmallSum')">?
<view class="noticeBox" :style="{ right: '0px', top: '180px' }" v-if="serviceSmallSum"
@click.stop="handleShowNotice2('serviceSmallSum')">
<text>商铺充电桩汽修加油站的租赁累计收入(91,051,247.82/252,950,000.00)</text>
</view>
</view>
</view>
<view class="smallSumRight" style="display: flex;align-items: center">
<text class="successText" style="margin-left: 4rpx">完成率</text>
<text class="successValue">35.99%</text>
<view class="notice" @click="handleShowNotice2('otherThisMonthSuccess')">?
<view class="noticeBox" :style="{ right: '0px', top: '180px' }" v-if="otherThisMonthSuccess"
@click.stop="handleShowNotice2('otherThisMonthSuccess')">
<text>完成率=服务区租赁累计收入 / 本年累计其他收入(91,051,247.82/252,950,000.00)</text>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
<view class="expenditure">
<view class="itemBox">
<view class="itemBoxTitle" style="color: #096EF7">支出合计</view>
<image class="monthSumBg" src="https://eshangtech.com/ShopICO/ahyd-BID/revenueBox/expenditure.png" />
<view class="itemDetailBox">
<view class="leftCharts">
<OtherCharts :success="number" :colorList="['#1679FF', '#E7F1FF']" />
<text class="numberValue" style="color: #1679FF">39.67%</text>
</view>
<view class="rightBox">
<view class="rightBoxTop">
<view class="itemTop">
<text class="itemTopValue">35.00</text>
<text class="itemTopTitle">2023年完成<text class="itemTopUnit">/万元</text></text>
</view>
<view class="itemRateBox">
<view class="addRate">32.54%</view>
<view class="rateText">成本比</view>
</view>
</view>
<view class="rightBoxTop">
<view class="itemTop">
<text class="itemTopValue">300.00</text>
<text class="itemTopTitle">2023年预计<text class="itemTopUnit">/万元</text></text>
</view>
<view class="itemRateBox">
<view class="addRate">12.84%</view>
<view class="rateText">计划比</view>
</view>
</view>
</view>
</view>
</view>
<view class="itemDetailSubtotal">
<view class="itemSmallBox">
<view class="itemSmallTop">
<view class="leftBox">
<view class="smallIcon">
<image class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/revenueBox/operateSum.svg" />
</view>
<view class="smallTitle">运营成本小计</view>
</view>
<view class="leftRight" @click="handleGoExpenditure">
<text class="more">查看更多</text>
<image class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/revenueBox/moreIcon.svg" />
</view>
</view>
<view class="itemSmallDetail">
<view class="itemSmallLeftBox">
<OtherCharts :success="number" :colorList="['#1679FF', '#E7F1FF']" />
<text class="leftValue">39.67%</text>
</view>
<view class="itemSmallRightBox">
<view class="rightTopItem">
<view class="itemDetail">
<view class="detailValue">35.00</view>
<view class="detailTitle">2023年完成<text class="detailTitleUnit">/万元</text></view>
</view>
<view class="itemRight">
<view class="rightValue">32.54%</view>
<view class="rightLabel">成本比</view>
</view>
</view>
<view class="rightTopItem" style="margin-top: 32rpx">
<view class="itemDetail">
<view class="detailValue">35.00</view>
<view class="detailTitle">2023年预计<text class="detailTitleUnit">/万元</text></view>
</view>
<view class="itemRight">
<view class="rightValue">32.54%</view>
<view class="rightLabel">计划比</view>
</view>
</view>
</view>
</view>
<view class="smallSum">
<view class="smallSumItem">
<view class="smallSumLeft">
<view class="smallSumItemBox"></view>
<text class="smallTitle">服务区自营小计</text>
</view>
<view class="smallSumRight">
<text class="successText">完成率</text>
<text class="successValue">12.84%</text>
</view>
</view>
<view class="smallSumItem">
<view class="smallSumLeft">
<view class="smallSumItemBox"></view>
<text class="smallTitle">分公司收入小计</text>
</view>
<view class="smallSumRight">
<text class="successText">完成率</text>
<text class="successValue">15.87%</text>
</view>
</view>
</view>
</view>
<view class="itemSmallBox">
<view class="itemSmallTop">
<view class="leftBox">
<view class="smallIcon">
<image class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/revenueBox/operateManager.svg" />
</view>
<view class="smallTitle">管理费用小计</view>
</view>
<view class="leftRight" @click="handleGoExpenditure">
<text class="more">查看更多</text>
<image class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/revenueBox/moreIcon.svg" />
</view>
</view>
<view class="itemSmallDetail">
<view class="itemSmallLeftBox">
<OtherCharts :success="number" :colorList="['#1679FF', '#E7F1FF']" />
<text class="leftValue">39.67%</text>
</view>
<view class="itemSmallRightBox">
<view class="rightTopItem">
<view class="itemDetail">
<view class="detailValue">35.00</view>
<view class="detailTitle">2023年完成<text class="detailTitleUnit">/万元</text></view>
</view>
<view class="itemRight">
<view class="rightValue">32.54%</view>
<view class="rightLabel">成本比</view>
</view>
</view>
<view class="rightTopItem" style="margin-top: 32rpx">
<view class="itemDetail">
<view class="detailValue">35.00</view>
<view class="detailTitle">2023年预计<text class="detailTitleUnit">/万元</text></view>
</view>
<view class="itemRight">
<view class="rightValue">32.54%</view>
<view class="rightLabel">计划比</view>
</view>
</view>
</view>
</view>
<view class="smallSum">
<view class="smallSumItem">
<view class="smallSumLeft">
<view class="smallSumItemBox"></view>
<text class="smallTitle">运营成本小计</text>
</view>
<view class="smallSumRight">
<text class="successText">完成率</text>
<text class="successValue">12.84%</text>
</view>
</view>
<view class="smallSumItem">
<view class="smallSumLeft">
<view class="smallSumItemBox"></view>
<text class="smallTitle">分公司收入小计</text>
</view>
<view class="smallSumRight">
<text class="successText">完成率</text>
<text class="successValue">15.87%</text>
</view>
</view>
</view>
</view>
<view class="itemSmallBox">
<view class="itemSmallTop">
<view class="leftBox">
<view class="smallIcon">
<image class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/revenueBox/buySum.svg" />
</view>
<view class="smallTitle">销售费用小计</view>
</view>
<view class="leftRight" @click="handleGoExpenditure">
<text class="more">查看更多</text>
<image class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/revenueBox/moreIcon.svg" />
</view>
</view>
<view class="itemSmallDetail">
<view class="itemSmallLeftBox">
<OtherCharts :success="number" :colorList="['#1679FF', '#E7F1FF']" />
<text class="leftValue">39.67%</text>
</view>
<view class="itemSmallRightBox">
<view class="rightTopItem">
<view class="itemDetail">
<view class="detailValue">35.00</view>
<view class="detailTitle">2023年完成<text class="detailTitleUnit">/万元</text></view>
</view>
<view class="itemRight">
<view class="rightValue">32.54%</view>
<view class="rightLabel">成本比</view>
</view>
</view>
<view class="rightTopItem" style="margin-top: 32rpx">
<view class="itemDetail">
<view class="detailValue">35.00</view>
<view class="detailTitle">2023年预计<text class="detailTitleUnit">/万元</text></view>
</view>
<view class="itemRight">
<view class="rightValue">32.54%</view>
<view class="rightLabel">计划比</view>
</view>
</view>
</view>
</view>
<view class="smallSum">
<view class="smallSumItem">
<view class="smallSumLeft">
<view class="smallSumItemBox"></view>
<text class="smallTitle">运营成本小计</text>
</view>
<view class="smallSumRight">
<text class="successText">完成率</text>
<text class="successValue">12.84%</text>
</view>
</view>
<view class="smallSumItem">
<view class="smallSumLeft">
<view class="smallSumItemBox"></view>
<text class="smallTitle">分公司收入小计</text>
</view>
<view class="smallSumRight">
<text class="successText">完成率</text>
<text class="successValue">15.87%</text>
</view>
</view>
</view>
</view>
<view class="itemSmallBox">
<view class="itemSmallTop">
<view class="leftBox">
<view class="smallIcon">
<image class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/revenueBox/otherBuy.svg" />
</view>
<view class="smallTitle">其他费用小计</view>
</view>
<view class="leftRight" @click="handleGoExpenditure">
<text class="more">查看更多</text>
<image class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/revenueBox/moreIcon.svg" />
</view>
</view>
<view class="itemSmallDetail">
<view class="itemSmallLeftBox">
<OtherCharts :success="number" :colorList="['#1679FF', '#E7F1FF']" />
<text class="leftValue">39.67%</text>
</view>
<view class="itemSmallRightBox">
<view class="rightTopItem">
<view class="itemDetail">
<view class="detailValue">35.00</view>
<view class="detailTitle">2023年完成<text class="detailTitleUnit">/万元</text></view>
</view>
<view class="itemRight">
<view class="rightValue">32.54%</view>
<view class="rightLabel">成本比</view>
</view>
</view>
<view class="rightTopItem" style="margin-top: 32rpx">
<view class="itemDetail">
<view class="detailValue">35.00</view>
<view class="detailTitle">2023年预计<text class="detailTitleUnit">/万元</text></view>
</view>
<view class="itemRight">
<view class="rightValue">32.54%</view>
<view class="rightLabel">计划比</view>
</view>
</view>
</view>
</view>
<view class="smallSum">
<view class="smallSumItem">
<view class="smallSumLeft">
<view class="smallSumItemBox"></view>
<text class="smallTitle">运营成本小计</text>
</view>
<view class="smallSumRight">
<text class="successText">完成率</text>
<text class="successValue">12.84%</text>
</view>
</view>
<view class="smallSumItem">
<view class="smallSumLeft">
<view class="smallSumItemBox"></view>
<text class="smallTitle">分公司收入小计</text>
</view>
<view class="smallSumRight">
<text class="successText">完成率</text>
<text class="successValue">15.87%</text>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import YearCharts from "./component/yearCharts.vue";
import OtherCharts from './component/otherCharts.vue'
export default {
components:{YearCharts,OtherCharts},
data(){
return {
windowHeight: null,
statusBarHeight: null,
menu:{},
number:0,
firstBox1st:0, // 第一个框的第一个图表
firstBox2st:0, // 第二个框的第二个图表
secondBoxProgress: 141.45,// 年度累计利润 的完成率
thirdBoxRate: 0,// 年度营收累计的图表百分比
firthBox1stRate:0 ,// 收入合计的第一个图表百分比
firthBox2stRate:0,// 收入合计的第二个图表百分比
firthBox3stRate:0,// 收入合计的第三个图表百分比
showCost:false,// 成本比
showPay:false,// 支出比
showMonthRevenue:false,// 点击本月收入显示
showMonthExpenditure:false,// 本月支出
successRate:false,// 累计利润的完成率
thisYearSum:false,// 本年累计利润总额
budget:false,// 年度预算
showNetProfit:false,// 净利润
showYearNetProfit:false,//净利润完成度
revenueAll:false,//营业累计收入
revenueSuccess:false,//完成率
revenueCostRate:false,// 成本比
budgetSum:false,// 本年累计同比值
incomeSuccess:false,//收入完成率
nowYearSum:false,// 本年累计
nowYearRevenueCost:false,// 本年累计收入的成本比
nowYearBudget:false,//年度预算
nowYearSumRate:false,// 年度预算的同比
userRevenueSmallSum:false,// 自营收入小计
compareYesSuccessRate:false,// 自营计划的第一个图表
thisMonthSum:false,//本月累计
thisMonthRevenueRate:false,//本月占比
thisMonthSmallSumSuccess1st:false,// 本月小计的完成率
thisMonthSmallSumSuccess2st:false,// 本月小计的完成率
thisMonthSmallSumSuccess2stTitle:false,//第二个本月小计的完成率的标题
otherSmallSum:false,// 其它收入小计
otherLeftChar:false,// 其它收入的左侧
otherMonthSum:false,// 其它收入的本月累计
otherThisMonthRate:false,//其它收入的本月占比
otherThisMonthSuccess:false,//其它收入的完成率
serviceSmallSum:false,// 服务区租赁小计
pageWidth:0,// 手机的宽度
}
},
onLoad(){
// 获取手机参数对页面进行适配
let systemInfo = uni.getSystemInfoSync()
console.log('systemInfo',systemInfo)
this.pageWidth = systemInfo.windowWidth
console.log('this.pageWidth',this.pageWidth)
this.statusBarHeight = Number(systemInfo.statusBarHeight)
this.menu = uni.getMenuButtonBoundingClientRect()
console.log('this.menu',this.menu)
let _this = this
setTimeout(()=>{
_this.number = 40
_this.firstBox1st = 39.39
_this.firstBox2st = 167.27
_this.thirdBoxRate = 65.12
_this.firthBox1stRate = 65.18
_this.firthBox2stRate = 71.70
_this.firthBox3stRate = 52.97
},100)
},
methods:{
// 点击出现备注
handleShowNotice(type){
console.log('type',type)
switch (type){
case 'showCost':
this.showCost = !this.showCost
break
case 'showPay':
this.showPay = !this.showPay
break
case 'showMonthRevenue':
this.showMonthRevenue = !this.showMonthRevenue
break
case 'showMonthExpenditure':
this.showMonthExpenditure = !this.showMonthExpenditure
break
case 'successRate':
this.successRate = !this.successRate
break
case 'thisYearSum':
this.thisYearSum = !this.thisYearSum
break
case 'budget':
this.budget = !this.budget
break
case 'showNetProfit':
this.showNetProfit = !this.showNetProfit
break
case 'showYearNetProfit':
this.showYearNetProfit = !this.showYearNetProfit
break
case 'revenueAll':
this.revenueAll = !this.revenueAll
break
case 'revenueSuccess':
this.revenueSuccess = !this.revenueSuccess
break
case 'revenueCostRate':
this.revenueCostRate = !this.revenueCostRate
break
case 'budgetSum':
this.budgetSum = !this.budgetSum
break
case 'incomeSuccess':
this.incomeSuccess = !this.incomeSuccess
break
case 'nowYearSum':
this.nowYearSum = !this.nowYearSum
break
case 'nowYearRevenueCost':
this.nowYearRevenueCost = !this.nowYearRevenueCost
break
case 'nowYearBudget':
this.nowYearBudget = !this.nowYearBudget
break
case 'nowYearSumRate':
this.nowYearSumRate = !this.nowYearSumRate
break
case 'userRevenueSmallSum':
this.userRevenueSmallSum = !this.userRevenueSmallSum
break
case 'compareYesSuccessRate':
this.compareYesSuccessRate = !this.compareYesSuccessRate
break
case 'thisMonthSum':
this.thisMonthSum = !this.thisMonthSum
break
case 'thisMonthRevenueRate':
this.thisMonthRevenueRate = !this.thisMonthRevenueRate
break
case 'thisMonthSmallSumSuccess1st':
this.thisMonthSmallSumSuccess1st = !this.thisMonthSmallSumSuccess1st
break
case 'thisMonthSmallSumSuccess2st':
this.thisMonthSmallSumSuccess2st = !this.thisMonthSmallSumSuccess2st
break
case 'thisMonthSmallSumSuccess2stTitle':
this.thisMonthSmallSumSuccess2stTitle = !this.thisMonthSmallSumSuccess2stTitle
break
case 'otherSmallSum':
this.otherSmallSum = !this.otherSmallSum
break
case 'false':
this.showCost = false
this.showPay = false
this.showMonthRevenue = false
this.showMonthExpenditure = false
this.successRate = false
this.thisYearSum = false
this.budget = false
this.showNetProfit = false
this.showYearNetProfit = false
this.revenueAll = false
this.revenueSuccess = false
this.revenueCostRate = false
this.budgetSum = false
this.incomeSuccess = false
this.nowYearSum = false
this.nowYearRevenueCost = false
this.nowYearBudget = false
this.nowYearSumRate = false
this.userRevenueSmallSum = false
this.compareYesSuccessRate = false
this.thisMonthSum = false
this.thisMonthRevenueRate = false
this.thisMonthSmallSumSuccess1st = false
this.thisMonthSmallSumSuccess2st = false
this.thisMonthSmallSumSuccess2stTitle = false
this.otherSmallSum = false
}
},
handleShowNotice2(type){
switch(type){
case 'otherLeftChar':
this.otherLeftChar = !this.otherLeftChar
break
case 'otherMonthSum':
this.otherMonthSum = !this.otherMonthSum
break
case 'otherThisMonthRate':
this.otherThisMonthRate = !this.otherThisMonthRate
break
case 'otherThisMonthSuccess':
this.otherThisMonthSuccess = !this.otherThisMonthSuccess
break
case 'serviceSmallSum':
this.serviceSmallSum = !this.serviceSmallSum
break
case 'false':
this.otherLeftChar = false
this.otherMonthSum = false
this.otherThisMonthRate = false
this.otherThisMonthSuccess = false
this.serviceSmallSum = false
}
},
// 返回按钮的方法
handleBack(){
uni.switchTab({
url: '/pages/index/index'
})
// if (this.come==='index'){
//
// }else{
// uni.switchTab({
// url: '/pages/userCenter/userCenter'
// })
// }
},
// 进入收入详情
handleGoInComeDetail(){
console.log('1111')
uni.navigateTo({
url: '/pages/revenue/incomeDetail'
});
},
// 进入支出详情
handleGoExpenditure(){
uni.navigateTo({
url: '/pages/revenue/expenditureDetail'
});
}
}
}
</script>
<style scoped lang="scss">
@import '/static/public/fontRevenue/stylesheet.css';
.main{
width: 100%;
min-height: 100vh;
.meng{
width: 100vw;
height: 100vh;
position: fixed;
top: 0;left: 0;
z-index: 20;
}
.header{
width: 100%;
box-sizing: border-box;
background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/revenueBox/revenyeBg.png");
background-repeat: no-repeat;
background-size: 100% 100%;
background-position: 0 0;
.headerBg{
width: 100%;
position: relative;
top: 0;left: 0;
height: 564rpx;
}
.headerTop{
width: 100%;
position: fixed;
display: flex;
top: 0;
align-items: center;
background-image:url("https://eshangtech.com/ShopICO/ahyd-BID/revenueBox/revenyeBg.png");
background-repeat: no-repeat;
background-size: 100% auto;
background-position:0 0;
background-color: #fff;
z-index: 10;
.headerBox{
width: 100%;
height: 100%;
position: relative;
overflow: hidden;
.headerBg{
width: 100%;
position: absolute;
top: 0;left: 0;
height: 564rpx;
}
.imageBox{
width: 100%;
position: absolute;
bottom: 0;
display: flex;
align-items: center;
}
.backIcon{
width: 48rpx;
height: 48rpx;
margin-left: 32rpx;
}
}
}
.pageTitle{
//position: absolute;
//left: 32rpx;
font-size: 56rpx;
font-family: Alimama ShuHeiTi;
font-weight: bold;
color: #FFFFFF;
line-height: 68rpx;
margin-top: 24rpx;
margin-left: 32rpx;
}
.headerDetail{
//position: absolute;
margin-top: 32rpx;
width: calc(100% - 64rpx);
margin-left: 32rpx;
//left: 32rpx;
background: #FFFFFF;
border-radius: 16rpx;
box-sizing: border-box;
padding: 4rpx;
.detailBox{
width: 100%;
box-sizing: border-box;
padding: 22rpx 24rpx;
background: linear-gradient(180deg, #E9F5FA 0%, #FBFDFE 100%);
border-radius: 16rpx;
position: relative;
.monthSumBg{
position: absolute;
width: 320rpx;
height: 320rpx;
right: 0;top: 0;
z-index: 1;
}
.detailPage{
display: flex;
align-items: center;
.detailPageTitle{
font-size: 36rpx;
font-family: Alimama ShuHeiTi;
font-weight: bold;
color: #018ABD;
line-height: 44rpx;
}
}
.moneyBox{
width: 100%;
//height: 300rpx;
background: #fff;
margin-top: 22rpx;
border-radius: 12rpx;
box-sizing: border-box;
padding: 32rpx;
display: flex;
justify-content: space-between;
position: relative;
z-index: 2;
.moneyItem{
//width: 50%;
height: 100%;
display: inline-block;
.itemTop{
width: 100%;
height: 68rpx;
display: flex;
box-sizing: border-box;
.itemChart{
margin-top: 8rpx;
width: 68rpx;
height: 68rpx;
}
.itemMessage{
display: flex;
flex-direction: column;
margin-left: 16rpx;
.itemRate{
font-size: 40rpx;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: #018ABD;
line-height: 48rpx;
}
.itemLabel{
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 36rpx;
display: flex;
align-items: center;
.notice{
margin-left: 8rpx;
width: 12px;
height: 12px;
display: flex;
align-items: center;
justify-content: center;
border: 2px solid #A69E9F;
border-radius: 50%;
color: #A69E9F;
font-size: 12px;
font-weight: 600;
.noticeBox{
max-width: 60%;
position: absolute;
top: 10px;
display: inline-block;
padding: 5px 10px;
background: #fff;
border-radius: 10rpx;
box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(166, 158, 159, 0.3);
z-index:9;
}
}
}
}
}
.successBox{
margin-top: 32rpx;
display: flex;
flex-direction: column;
.successBoxItem{
display: flex;
flex-direction: column;
.successNumber{
font-size: 32rpx;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: #160002;
line-height: 36rpx;
margin-bottom: 4rpx;
}
.successTime{
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 36rpx;
display: flex;
.successUnit{
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #A69E9F;
line-height: 36rpx;
margin-left: 4rpx;
}
.notice{
margin-left: 8rpx;
width: 12px;
height: 12px;
display: flex;
align-items: center;
justify-content: center;
border: 2px solid #A69E9F;
border-radius: 50%;
color: #A69E9F;
font-size: 12px;
font-weight: 600;
.noticeBox{
position: absolute;
right: 0;top: 70px;
display: inline-block;
padding: 5px 10px;
background: #fff;
border-radius: 10rpx;
box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(166, 158, 159, 0.3);
z-index:9;
}
}
}
}
}
}
}
}
}
}
.content{
width: 100%;
box-sizing: border-box;
padding: 24rpx 36rpx 0;
background: #F5F5F5;
.profitYear{
width: 100%;
height: 468rpx;
background: #fff;
box-sizing: border-box;
padding: 4rpx;
border-radius: 16rpx;
.itemBox{
width: 100%;
height: 100%;
background: linear-gradient(180deg, #EDEEFF 0%, #F8F9FF 100%);;
border-radius: 16rpx;
box-sizing: border-box;
padding: 22rpx 24rpx;
position: relative;
.itemBoxTitle{
font-size: 36rpx;
font-family: Alimama ShuHeiTi;
font-weight: bold;
color: #474EF4;
line-height: 44rpx;
}
.monthSumBg{
position: absolute;
width: 320rpx;
height: 320rpx;
right: 0;top: 0;
z-index: 1;
}
.itemDetailBox{
position: relative;
z-index: 2;
width: 100%;
height: 356rpx;
background: #FFFFFF;
border-radius: 12rpx;
margin-top: 22rpx;
box-sizing: border-box;
padding: 32rpx;
.detailBoxTop{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
.successLabel{
display: flex;
align-items: center;
.successLabelText{
font-size: 28rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 40rpx;
}
.notice{
margin-left: 8rpx;
width: 12px;
height: 12px;
display: flex;
align-items: center;
justify-content: center;
border: 2px solid #A69E9F;
border-radius: 50%;
color: #A69E9F;
font-size: 12px;
font-weight: 600;
.noticeBox{
max-width: 60%;
position: absolute;
left: 0;top: 0;
display: inline-block;
padding: 5px 10px;
background: #fff;
border-radius: 10rpx;
box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(166, 158, 159, 0.3);
z-index:9;
}
}
}
.successValue{
font-size: 40rpx;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: #575EF9;
line-height: 48rpx;
}
}
.progress{
width: 100%;
height: 24rpx;
background: rgba(221, 223, 254, 0.2);
border-radius: 12rpx;
position: relative;
margin-top: 12rpx;
overflow: hidden;
.have{
position: absolute;
top: 0;left: 0;
height: 100%;
background: #575EF9;
border-radius: 12rpx;
}
}
.yearDetail{
width: 100%;
display: flex;
justify-content: space-between;
margin-top: 32rpx;
.yearItem{
display: inline-block;
width: calc( ( 100% - 80px ) / 2 );
.itemValue{
font-size: 32rpx;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: #160002;
line-height: 36rpx;
display: flex;
align-items: center;
.notice{
margin-left: 8rpx;
width: 12px;
height: 12px;
display: flex;
align-items: center;
justify-content: center;
border: 2px solid #A69E9F;
border-radius: 50%;
color: #A69E9F;
font-size: 12px;
font-weight: 600;
.noticeBox{
max-width: 60%;
position: absolute;
display: inline-block;
padding: 5px 10px;
background: #fff;
border-radius: 10rpx;
box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(166, 158, 159, 0.3);
z-index:9;
}
}
}
.itemLabel{
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 36rpx;
margin-top: 4rpx;
.notice{
margin-left: 8rpx;
width: 12px;
height: 12px;
display: flex;
align-items: center;
justify-content: center;
border: 2px solid #A69E9F;
border-radius: 50%;
color: #A69E9F;
font-size: 12px;
font-weight: 600;
.noticeBox{
max-width: 60%;
position: absolute;
right: 0;top: 0;
display: inline-block;
padding: 5px 10px;
background: #fff;
border-radius: 10rpx;
box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(166, 158, 159, 0.3);
z-index:9;
}
}
.itemUnit{
margin-left: 4rpx;
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #A69E9F;
line-height: 36rpx;
}
}
}
}
}
}
}
.accrueYear{
width: 100%;
height: 368rpx;
background: #fff;
box-sizing: border-box;
padding: 4rpx;
border-radius: 16rpx;
margin-top: 24rpx;
.itemBox{
width: 100%;
height: 100%;
background: linear-gradient(180deg, #F6ECFD 0%, #FDFCFF 100%);
border-radius: 16rpx;
box-sizing: border-box;
padding: 22rpx 24rpx;
position: relative;
.itemBoxTitle{
font-size: 36rpx;
font-family: Alimama ShuHeiTi;
font-weight: bold;
color: #9635E0;
line-height: 44rpx;
}
.notice{
margin-left: 8rpx;
width: 12px;
height: 12px;
display: flex;
align-items: center;
justify-content: center;
border: 2px solid #A69E9F;
border-radius: 50%;
color: #A69E9F;
font-size: 12px;
font-weight: 600;
.noticeBox{
max-width: 100%;
position: absolute;
display: inline-block;
padding: 5px 10px;
background: #fff;
border-radius: 10rpx;
box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(166, 158, 159, 0.3);
z-index:9;
}
}
.monthSumBg{
position: absolute;
width: 320rpx;
height: 320rpx;
right: 0;top: 0;
z-index: 1;
}
.itemDetailBox{
position: relative;
z-index:2;
width: 100%;
height: 256rpx;
background: #FFFFFF;
border-radius: 12rpx;
margin-top: 22rpx;
box-sizing: border-box;
display: flex;
.notices{
margin-left: 8rpx;
width: 12px;
height: 12px;
display: flex;
align-items: center;
justify-content: center;
color: #A69E9F;
font-size: 12px;
font-weight: 600;
.noticeBox{
max-width: 80%;
position: absolute;
display: inline-block;
padding: 5px 10px;
background: #fff;
border-radius: 10rpx;
box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(166, 158, 159, 0.3);
z-index:9;
}
}
.leftCharts{
width: 224rpx;
height: 100%;
box-sizing: border-box;
padding: 32rpx 48rpx 0;
.numberValue{
font-size: 40rpx;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: #9E3CE9;
line-height: 48rpx;
margin-top: 8rpx;
}
}
.rightBox{
width: calc(100% - 224rpx);
.rightBoxTop{
width: 100%;
box-sizing: border-box;
padding: 32rpx 16rpx;
display: flex;
justify-content: space-between;
align-items: center;
.itemTop{
width: calc(100% - 70px);
display: flex;
flex-direction: column;
.itemTopValue{
font-size: 32rpx;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: #160002;
line-height: 36rpx;
}
.itemTopTitle{
margin-top: 4rpx;
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 36rpx;
.itemTopUnit{
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #A69E9F;
line-height: 36rpx;
margin-left: 4rpx;
}
}
}
.itemRateBox{
display: inline-block;
width: 70px;
.addRate{
font-size: 32rpx;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: #E83944;
line-height: 36rpx;
}
.rateText{
margin-top: 4rpx;
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 36rpx;
.notice{
margin-left: 8rpx;
width: 12px;
height: 12px;
display: flex;
align-items: center;
justify-content: center;
border: 2px solid #A69E9F;
border-radius: 50%;
color: #A69E9F;
font-size: 12px;
font-weight: 600;
.noticeBox{
max-width: 80%;
position: absolute;
right: 0;top: 0;
display: inline-block;
padding: 5px 10px;
background: #fff;
border-radius: 10rpx;
box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(166, 158, 159, 0.3);
z-index:9;
}
}
}
}
}
}
}
}
}
.incomeAll{
width: 100%;
box-sizing: border-box;
padding: 4rpx;
border-radius: 16rpx;
margin-top: 24rpx;
background: #FBFBFB;
.itemBox{
width: 100%;
height: 400rpx;
background: linear-gradient(180deg, #F9F0E2 0%, #FAF9F7 100%);
border-radius: 16rpx;
box-sizing: border-box;
padding: 22rpx 24rpx;
position: relative;
.itemBoxTitle{
font-size: 36rpx;
font-family: Alimama ShuHeiTi;
font-weight: bold;
color: #9635E0;
line-height: 44rpx;
}
.notice{
margin-left: 8rpx;
width: 12px;
height: 12px;
display: flex;
align-items: center;
justify-content: center;
border: 2px solid #A69E9F;
border-radius: 50%;
color: #A69E9F;
font-size: 12px;
font-weight: 600;
.noticeBox{
max-width: 100%;
position: absolute;
display: inline-block;
padding: 5px 10px;
background: #fff;
border-radius: 10rpx;
box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(166, 158, 159, 0.3);
z-index:9;
}
}
.monthSumBg{
position: absolute;
width: 320rpx;
height: 320rpx;
right: 0;top: 0;
z-index: 1;
}
.itemDetailBox{
position: relative;
z-index: 2;
width: 100%;
height: 256rpx;
background: #FFFFFF;
border-radius: 12rpx;
margin-top: 22rpx;
box-sizing: border-box;
display: flex;
padding: 32rpx;
.leftCharts{
width: 128rpx;
height: 100%;
box-sizing: border-box;
margin-right: 48rpx;
.numberValue{
font-size: 40rpx;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: #9E3CE9;
line-height: 48rpx;
display: inline-block;
margin-top: 12rpx;
}
.notices{
margin-left: 8rpx;
width: 12px;
height: 12px;
display: flex;
align-items: center;
justify-content: center;
color: #A69E9F;
font-size: 12px;
font-weight: 600;
.noticeBox{
max-width: 80%;
position: absolute;
display: inline-block;
padding: 5px 10px;
background: #fff;
border-radius: 10rpx;
box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(166, 158, 159, 0.3);
z-index:9;
}
}
}
.rightBox{
width: calc(100% - 186rpx);
.rightBoxTop{
width: 100%;
box-sizing: border-box;
display: flex;
justify-content: space-between;
align-items: center;
.itemTop{
display: flex;
flex-direction: column;
.itemTopValue{
font-size: 32rpx;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: #160002;
line-height: 36rpx;
}
.itemTopTitle{
margin-top: 4rpx;
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 36rpx;
.itemTopUnit{
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #A69E9F;
line-height: 36rpx;
margin-left: 4rpx;
}
}
}
.itemRateBox{
display: inline-block;
width: 120rpx;
.addRate{
font-size: 32rpx;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: #E83944;
line-height: 36rpx;
}
.rateText{
margin-top: 4rpx;
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 36rpx;
white-space: nowrap;
.notice{
margin-left: 8rpx;
width: 12px;
height: 12px;
display: flex;
align-items: center;
justify-content: center;
border: 2px solid #A69E9F;
border-radius: 50%;
color: #A69E9F;
font-size: 12px;
font-weight: 600;
.noticeBox{
max-width: 80%;
position: absolute;
right: 0;top: 0;
display: inline-block;
white-space: pre-wrap;
padding: 5px 10px;
background: #fff;
border-radius: 10rpx;
box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(166, 158, 159, 0.3);
z-index:9;
}
}
}
}
}
}
}
}
.itemDetailSubtotal{
width: 100%;
background: #FBFBFB;
.itemSmallBox{
margin-top: 24rpx;
padding-bottom: 24rpx;
position: relative;
.xian{
width: 4rpx;
height: 432rpx;
background: #F4F2F1;
border-radius: 1rpx;
position: absolute;
left: 60rpx;top: 92rpx;
}
.itemSmallTop{
width: 100%;
box-sizing: border-box;
padding: 0 28rpx;
display: flex;
align-items: center;
justify-content: space-between;
.leftBox{
display: flex;
align-items: center;
.smallIcon{
width: 72rpx;
height: 72rpx;
margin-right: 16rpx;
.img{
width: 100%;
height: 100%;
}
}
.smallTitle{
font-size: 32rpx;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #160002;
line-height: 44rpx;
}
.notice{
margin-left: 8rpx;
width: 12px;
height: 12px;
display: flex;
align-items: center;
justify-content: center;
border: 2px solid #A69E9F;
border-radius: 50%;
color: #A69E9F;
font-size: 12px;
font-weight: 600;
.noticeBox{
max-width: 60%;
position: absolute;
display: inline-block;
padding: 5px 10px;
background: #fff;
border-radius: 10rpx;
box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(166, 158, 159, 0.3);
z-index:9;
}
}
}
.leftRight{
display: flex;
align-items: center;
.more{
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #A69E9F;
line-height: 36rpx;
margin-right: 10rpx;
}
.moreIcon{
width: 24rpx;
height: 24rpx;
}
}
}
}
.itemSmallDetail{
width: calc(100% - 116rpx - 28rpx);
height: 248rpx;
margin-top: 30rpx;
background: #F9F5F1;
border-radius: 8rpx;
margin-left: 116rpx;
box-sizing: border-box;
padding: 32rpx 16rpx 32rpx 30rpx;
display: flex;
justify-content: space-between;
.itemSmallLeftBox{
width: 128rpx;
height: 100%;
border-radius: 8rpx;
.leftValue{
display: inline-block;
margin-top: 8rpx;
font-size: 40rpx;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: #FE7500;
line-height: 48rpx;
}
.notices{
margin-left: 8rpx;
width: 12px;
height: 12px;
display: flex;
align-items: center;
justify-content: center;
color: #A69E9F;
font-size: 12px;
font-weight: 600;
.noticeBox{
max-width: 100%;
position: absolute;
display: inline-block;
padding: 5px 10px;
background: #fff;
border-radius: 10rpx;
box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(166, 158, 159, 0.3);
z-index:9;
}
}
}
.itemSmallRightBox{
width: calc(100% - 168rpx);
.rightTopItem{
width: 100%;
display: flex;
justify-content: space-between;
.itemDetail{
display: inline-block;
width: 50%;
.detailValue{
font-size: 26rpx;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: #160002;
line-height: 36rpx;
.notice{
margin-left: 8rpx;
width: 12px;
height: 12px;
display: flex;
align-items: center;
justify-content: center;
border: 2px solid #A69E9F;
border-radius: 50%;
color: #A69E9F;
font-size: 12px;
font-weight: 600;
.noticeBox{
max-width: 60%;
position: absolute;
right: 0;top: 0;
display: inline-block;
padding: 5px 10px;
background: #fff;
border-radius: 10rpx;
box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(166, 158, 159, 0.3);
z-index:9;
}
}
}
.detailTitle{
font-size: 22rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 36rpx;
margin-top: 4rpx;
white-space: nowrap;
.detailTitleUnit{
color: #A69E9F;
}
.notice{
margin-left: 8rpx;
width: 12px;
height: 12px;
display: flex;
align-items: center;
justify-content: center;
border: 2px solid #A69E9F;
border-radius: 50%;
color: #A69E9F;
font-size: 12px;
font-weight: 600;
.noticeBox{
max-width: 60%;
position: absolute;
right: 0;top: 0;
display: inline-block;
padding: 5px 10px;
background: #fff;
border-radius: 10rpx;
box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(166, 158, 159, 0.3);
z-index:9;
}
}
}
}
.itemRight{
display: inline-block;
width: 50%;
.rightValue{
font-size: 26rpx;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: #E83944;
line-height: 36rpx;
}
.rightLabel{
font-size: 22rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 36rpx;
margin-top: 4rpx;
.notice{
margin-left: 8rpx;
width: 12px;
height: 12px;
display: flex;
align-items: center;
justify-content: center;
border: 2px solid #A69E9F;
border-radius: 50%;
color: #A69E9F;
font-size: 12px;
font-weight: 600;
.noticeBox{
max-width: 70%;
position: absolute;
right: 0;top: 0;
display: inline-block;
padding: 5px 10px;
background: #fff;
border-radius: 10rpx;
box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(166, 158, 159, 0.3);
z-index:9;
}
}
}
}
}
}
}
.smallSum{
width: calc(100% - 116rpx - 28rpx);
margin-left: 116rpx;
.smallSumItem{
margin-top: 24rpx;
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
.smallSumLeft{
display: flex;
align-items: center;
.smallSumItemBox{
width: 12rpx;
height: 12rpx;
background: #EF7A16;
border-radius: 50%;
margin-right: 16rpx;
}
.smallTitle{
font-size: 28rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #160002;
line-height: 40rpx;
}
.notice{
margin-left: 8rpx;
width: 12px;
height: 12px;
display: flex;
align-items: center;
justify-content: center;
border: 2px solid #A69E9F;
border-radius: 50%;
color: #A69E9F;
font-size: 12px;
font-weight: 600;
.noticeBox{
max-width: 80%;
position: absolute;
right: 0;top: 0;
display: inline-block;
padding: 5px 10px;
background: #fff;
border-radius: 10rpx;
box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(166, 158, 159, 0.3);
z-index:9;
}
}
}
.smallSumRight{
display: inline-block;
width: 250rpx;
.notice{
margin-left: 8rpx;
width: 12px;
height: 12px;
display: flex;
align-items: center;
justify-content: center;
border: 2px solid #A69E9F;
border-radius: 50%;
color: #A69E9F;
font-size: 12px;
font-weight: 600;
.noticeBox{
max-width: 80%;
position: absolute;
right: 0;top: 0;
display: inline-block;
padding: 5px 10px;
background: #fff;
border-radius: 10rpx;
box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(166, 158, 159, 0.3);
z-index:9;
}
}
.successText{
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #A69E9F;
line-height: 40rpx;
}
.successValue{
font-size: 28rpx;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: #E83944;
line-height: 40rpx;
margin-left: 8rpx;
}
}
}
}
}
}
.expenditure{
width: 100%;
box-sizing: border-box;
padding: 4rpx;
border-radius: 16rpx;
margin-top: 24rpx;
background: #FBFBFB;
.itemBox{
width: 100%;
height: 400rpx;
background: linear-gradient(180deg, #F1F8FF 0%, #F6FAFF 100%);
border-radius: 16rpx;
box-sizing: border-box;
padding: 22rpx 24rpx;
position: relative;
.monthSumBg{
position: absolute;
width: 320rpx;
height: 320rpx;
right: 0;top: 0;
z-index: 1;
}
.itemBoxTitle{
font-size: 36rpx;
font-family: Alimama ShuHeiTi;
font-weight: bold;
color: #9635E0;
line-height: 44rpx;
}
.itemDetailBox{
position: relative;
z-index: 2;
width: 100%;
height: 256rpx;
background: #FFFFFF;
border-radius: 12rpx;
margin-top: 22rpx;
box-sizing: border-box;
display: flex;
.leftCharts{
width: 224rpx;
height: 100%;
box-sizing: border-box;
padding: 32rpx 48rpx 0;
.numberValue{
font-size: 40rpx;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: #9E3CE9;
line-height: 48rpx;
margin-top: 8rpx;
}
}
.rightBox{
width: calc(100% - 224rpx);
.rightBoxTop{
width: 100%;
box-sizing: border-box;
padding: 32rpx;
display: flex;
justify-content: space-between;
align-items: center;
.itemTop{
display: flex;
flex-direction: column;
.itemTopValue{
font-size: 32rpx;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: #160002;
line-height: 36rpx;
}
.itemTopTitle{
margin-top: 4rpx;
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 36rpx;
.itemTopUnit{
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #A69E9F;
line-height: 36rpx;
margin-left: 4rpx;
}
}
}
.itemRateBox{
display: inline-block;
.addRate{
font-size: 32rpx;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: #E83944;
line-height: 36rpx;
}
.rateText{
margin-top: 4rpx;
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 36rpx;
}
}
}
}
}
}
.itemDetailSubtotal{
width: 100%;
background: #FBFBFB;
.itemSmallBox{
margin-top: 48rpx;
.itemSmallTop{
width: 100%;
box-sizing: border-box;
padding: 0 28rpx;
display: flex;
align-items: center;
justify-content: space-between;
.leftBox{
display: flex;
align-items: center;
.smallIcon{
width: 72rpx;
height: 72rpx;
margin-right: 16rpx;
.img{
width: 100%;
height: 100%;
}
}
.smallTitle{
font-size: 32rpx;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #160002;
line-height: 44rpx;
}
}
.leftRight{
display: flex;
align-items: center;
.more{
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #A69E9F;
line-height: 36rpx;
margin-right: 10rpx;
}
.moreIcon{
width: 24rpx;
height: 24rpx;
}
}
}
}
.itemSmallDetail{
width: calc(100% - 116rpx - 28rpx);
height: 248rpx;
margin-top: 30rpx;
background: #F8FAFD;
border-radius: 8rpx;
margin-left: 116rpx;
box-sizing: border-box;
padding: 32rpx 30rpx;
display: flex;
justify-content: space-between;
.itemSmallLeftBox{
width: 128rpx;
height: 100%;
border-radius: 8rpx;
.leftValue{
margin-top: 4rpx;
font-size: 40rpx;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: #1679FF;
line-height: 48rpx;
}
}
.itemSmallRightBox{
width: calc(100% - 168rpx);
.rightTopItem{
width: 100%;
display: flex;
justify-content: space-between;
.itemDetail{
.detailValue{
font-size: 32rpx;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: #160002;
line-height: 36rpx;
}
.detailTitle{
font-size: 22rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 36rpx;
margin-top: 4rpx;
}
}
.itemRight{
.rightValue{
font-size: 32rpx;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: #E83944;
line-height: 36rpx;
}
.rightLabel{
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 36rpx;
margin-top: 4rpx;
}
}
}
}
}
.smallSum{
width: calc(100% - 116rpx - 28rpx);
margin-left: 116rpx;
.smallSumItem{
margin-top: 24rpx;
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
.smallSumLeft{
display: flex;
align-items: center;
.smallSumItemBox{
width: 12rpx;
height: 12rpx;
background: #1679FF;
border-radius: 50%;
margin-right: 16rpx;
}
.smallTitle{
font-size: 28rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #160002;
line-height: 40rpx;
}
}
.smallSumRight{
.successText{
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #A69E9F;
line-height: 40rpx;
}
.successValue{
font-size: 28rpx;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: #E83944;
line-height: 40rpx;
margin-left: 8rpx;
}
}
}
}
}
}
}
}
</style>