This commit is contained in:
cclu 2023-11-30 18:24:19 +08:00
parent 0f50b3f824
commit 50ea9fc5c7
3 changed files with 166 additions and 84 deletions

View File

@ -182,7 +182,7 @@
<script> <script>
import OtherCharts from "./component/otherCharts.vue"; import OtherCharts from "./component/otherCharts.vue";
import outData from './expenditureData' import outData from './expenditureData'
import request from '@/util/index.js'
export default { export default {
components:{OtherCharts}, components:{OtherCharts},
data(){ data(){
@ -213,25 +213,19 @@ export default {
}, },
onLoad(query){ onLoad(query){
this.selectTab = Number(query.type) this.selectTab = Number(query.type)
if (query.month){
this.month = Number(query.month)
outData.forEach(item=>{
if (item.month === Number(query.month)){
this.pageData = item
this.pageList = this.selectTab===1?item.costList:this.selectTab===2?item.managerList:this.selectTab===3?item.sellingList:this.selectTab===4?item.financialList:''
console.log('pageData',this.pageData)
console.log('pageList',this.pageList)
}
})
}
const date = new Date() const date = new Date()
let y = date.getFullYear() let y = date.getFullYear()
let m = date.getMonth()+1 let m = date.getMonth()+1
this.thisYear = y this.thisYear = y
this.startDate = `${y}-07` this.startDate = `${y}-07`
this.endData = `${y}-10` this.endData = `${y}-10`
this.single = `${y}-${this.month}` this.single = `${y}-${ Number(query.month)}`
if (query.month){
this.month = Number(query.month)
this.handleGetPageData()
}
// //
let systemInfo = uni.getSystemInfoSync() let systemInfo = uni.getSystemInfoSync()
@ -268,12 +262,13 @@ export default {
const date = new Date(this.single) const date = new Date(this.single)
const y = date.getMonth() + 1 const y = date.getMonth() + 1
this.month = y this.month = y
outData.forEach(item=>{ this.handleGetPageData()
if (item.month === y){ // outData.forEach(item=>{
this.pageData = item // if (item.month === y){
this.pageList = this.selectTab===1?item.costList:this.selectTab===2?item.managerList:this.selectTab===3?item.sellingList:this.selectTab===4?item.financialList:'' // this.pageData = item
} // this.pageList = this.selectTab===1?item.costList:this.selectTab===2?item.managerList:this.selectTab===3?item.sellingList:this.selectTab===4?item.financialList:''
}) // }
// })
}, },
handleShowNotice(index,subIndex,thirdIndex,fourthIndex){ handleShowNotice(index,subIndex,thirdIndex,fourthIndex){
this.firstIndex = index this.firstIndex = index
@ -295,6 +290,20 @@ export default {
this.secondIndex = null this.secondIndex = null
this.thirdIndexs = null this.thirdIndexs = null
this.fourthIndexs = null this.fourthIndexs = null
},
//
async handleGetPageData(){
uni.showLoading({
title:'正在加载'
})
const req = {
Month:this.month
}
const data = await request.$webGetTest('EShangApiMain/Budget/GetbudgetProjectReportOut',req)
console.log('data',data)
this.pageData = data.Result_Data
this.pageList = this.selectTab===1?data.Result_Data.costList:this.selectTab===2?data.Result_Data.managerList:this.selectTab===3?data.Result_Data.sellingList:this.selectTab===4?data.Result_Data.financialList:''
uni.hideLoading()
} }
} }
} }

View File

@ -104,6 +104,7 @@
<script> <script>
import OtherCharts from './component/otherCharts.vue' import OtherCharts from './component/otherCharts.vue'
import inComeData from './data' import inComeData from './data'
import request from '@/util/index.js'
export default { export default {
components:{OtherCharts}, components:{OtherCharts},
data(){ data(){
@ -132,24 +133,27 @@ export default {
} }
}, },
onLoad(query){ onLoad(query){
console.log('query',query)
this.selectTab = Number(query.type) this.selectTab = Number(query.type)
if (query.month){
this.month = Number(query.month)
inComeData.forEach(item=>{
if (item.month === Number(query.month)){
this.pageData = item
this.pageList = this.selectTab===1?item.supportList:item.otherList
}
})
}
const date = new Date() const date = new Date()
let y = date.getFullYear() let y = date.getFullYear()
let m = date.getMonth()+1 let m = date.getMonth()+1
this.thisYear = y this.thisYear = y
this.startDate = `${y}-07` this.startDate = `${y}-07`
this.endData = `${y}-10` this.endData = `${y}-10`
this.single = `${y}-${this.month}` this.single = `${y}-${Number(query.month)}`
if (query.month){
this.month = Number(query.month)
this.handleGetPageData()
// inComeData.forEach(item=>{
// if (item.month === Number(query.month)){
// this.pageData = item
// this.pageList = this.selectTab===1?item.supportList:item.otherList
// }
// })
}
// //
let systemInfo = uni.getSystemInfoSync() let systemInfo = uni.getSystemInfoSync()
this.windowHeight = systemInfo.windowHeight this.windowHeight = systemInfo.windowHeight
@ -181,12 +185,7 @@ export default {
const date = new Date(this.single) const date = new Date(this.single)
const y = date.getMonth() + 1 const y = date.getMonth() + 1
this.month = y this.month = y
inComeData.forEach(item=>{ this.handleGetPageData()
if (item.month === y){
this.pageData = item
this.pageList = this.selectTab===1?item.supportList:item.otherList
}
})
}, },
// //
handleShowNotice(index){ handleShowNotice(index){
@ -202,6 +201,20 @@ export default {
handleAllNotice(){ handleAllNotice(){
this.showMeng = false this.showMeng = false
this.firstIndex = null this.firstIndex = null
},
//
async handleGetPageData(){
uni.showLoading({
title:'正在加载'
})
const req = {
Month:this.month
}
const data = await request.$webGetTest('EShangApiMain/Budget/GetbudgetProjectReportIn',req)
console.log('data',data)
this.pageData = data.Result_Data
this.pageList = this.selectTab===1?data.Result_Data.supportList:data.Result_Data.otherList
uni.hideLoading()
} }
} }
} }

View File

@ -3,7 +3,7 @@
<!-- 当蒙层框里面的if判断中的任意一个参数变为true 就表示有悬浮框产生 然后生成一层最上面的蒙层 让它可以点击任意位置关闭悬浮框 --> <!-- 当蒙层框里面的if判断中的任意一个参数变为true 就表示有悬浮框产生 然后生成一层最上面的蒙层 让它可以点击任意位置关闭悬浮框 -->
<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" <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> @click="handleShowNotice('false')"></view>
<view class="meng" v-if="otherLeftChar || otherMonthSum ||otherThisMonthRate ||otherThisMonthSuccess || serviceSmallSum" @click="handleShowNotice2('false')"></view> <view class="meng" v-if="showOutNoitive || showInComeNotice || otherLeftChar || otherMonthSum ||otherThisMonthRate ||otherThisMonthSuccess || serviceSmallSum" @click="handleShowNotice2('false')"></view>
<!-- :style="{height: ((668/750) * pageWidth + 36)+'px'}"--> <!-- :style="{height: ((668/750) * pageWidth + 36)+'px'}"-->
<view class="header" > <view class="header" >
<!-- <image class="headerBg" src="https://eshangtech.com/ShopICO/ahyd-BID/revenueBox/revenyeBg.png"/>--> <!-- <image class="headerBg" src="https://eshangtech.com/ShopICO/ahyd-BID/revenueBox/revenyeBg.png"/>-->
@ -345,7 +345,11 @@
</view> </view>
</view> </view>
</view> </view>
<view class="inComeRateBox"> <view class="inComeRateBox" @click="handleShowInComeNotice">
<view v-if="showInComeNotice" class="noticeRate" >
<view class="noticeView">自营收入:<span>{{currentResult.inComeList[0].thisYear}}</span>万元<span>{{`${((currentResult.inComeList[0].thisYearRealNumber / (currentResult.inComeList[0].thisYearRealNumber + currentResult.inComeList[1].thisYearRealNumber))*100).toFixed(2)}%`}}</span></view>
<view class="noticeView">其他收入:<span>{{currentResult.inComeList[1].thisYear}}</span>万元<span>{{`${((currentResult.inComeList[1].thisYearRealNumber / (currentResult.inComeList[0].thisYearRealNumber + currentResult.inComeList[1].thisYearRealNumber))*100).toFixed(2)}%`}}</span></view>
</view>
<view class="inComeRate"> <view class="inComeRate">
<view class="owner" :style="{background:'#FC7909',left: 0,width:`${(currentResult.inComeList[0].thisYearRealNumber / (currentResult.inComeList[0].thisYearRealNumber + currentResult.inComeList[1].thisYearRealNumber))*100}%`}"></view> <view class="owner" :style="{background:'#FC7909',left: 0,width:`${(currentResult.inComeList[0].thisYearRealNumber / (currentResult.inComeList[0].thisYearRealNumber + currentResult.inComeList[1].thisYearRealNumber))*100}%`}"></view>
<view class="otherRate" :style="{background:'#F9DCC2',right: 0,width:`${(currentResult.inComeList[1].thisYearRealNumber / (currentResult.inComeList[0].thisYearRealNumber + currentResult.inComeList[1].thisYearRealNumber))*100}%`}"></view> <view class="otherRate" :style="{background:'#F9DCC2',right: 0,width:`${(currentResult.inComeList[1].thisYearRealNumber / (currentResult.inComeList[0].thisYearRealNumber + currentResult.inComeList[1].thisYearRealNumber))*100}%`}"></view>
@ -392,7 +396,7 @@
</view> </view>
</view> </view>
</view> </view>
<view class="leftRight" @click="handleGoInComeDetail(1)"> <view class="leftRight" @click="handleGoInComeDetail(index+1)">
<text class="more">查看更多</text> <text class="more">查看更多</text>
<image class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/revenueBox/moreIcon.svg" /> <image class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/revenueBox/moreIcon.svg" />
</view> </view>
@ -512,7 +516,13 @@
</view> </view>
</view> </view>
<view class="expenditureRateBox"> <view class="expenditureRateBox" @click="handleShowOutNotice">
<view v-if="showOutNoitive" class="noticeRate">
<view class="noticeView">营业成本:<span>{{currentResult.outList[0].expenditureCostThisYear}}</span>万元<span>{{`${outFirst.toFixed(2)}%`}}</span></view>
<view class="noticeView">销售费用:<span>{{currentResult.outList[1].expenditureCostThisYear}}</span>万元<span>{{`${outSecond.toFixed(2)}%`}}</span></view>
<view class="noticeView">管理费用:<span>{{currentResult.outList[2].expenditureCostThisYear}}</span>万元<span>{{`${outThird.toFixed(2)}%`}}</span></view>
<view class="noticeView">财务费用:<span>{{currentResult.outList[3].expenditureCostThisYear}}</span>万元<span>{{`${outFourth.toFixed(2)}%`}}</span></view>
</view>
<view class="expenditureRate"> <view class="expenditureRate">
<view class="first" :style="{left:0,width: outFirst+'%',background:'#1679FF'}"></view> <view class="first" :style="{left:0,width: outFirst+'%',background:'#1679FF'}"></view>
<view class="second" :style="{left:outFirst+'%',width: outSecond+'%',background: 'lightgreen'}"></view> <view class="second" :style="{left:outFirst+'%',width: outSecond+'%',background: 'lightgreen'}"></view>
@ -1092,6 +1102,8 @@ export default {
outSecond:0,// outSecond:0,//
outThird:0,// outThird:0,//
outFourth:0,// outFourth:0,//
showInComeNotice:false,//
showOutNoitive:false,
} }
}, },
onLoad(){ onLoad(){
@ -1122,13 +1134,22 @@ export default {
this.single = `${y}-07` this.single = `${y}-07`
this.thisMonth = '07' this.thisMonth = '07'
// //
// this.handleGetData()
// this.selectMonth = 0 // this.selectMonth = 0
//
this.handleGetPageData()
setTimeout(()=>{ setTimeout(()=>{
this.handleChangeSwiper({target:{current:3}}) // this.handleChangeSwiper({target:{current:3}})
this.single = `${y}-10`
this.thisMonth = '10'
this.thisYear = this.single.split('-')[0]
this.thisMonth = this.single.split('-')[1]
if (this.thisMonth.indexOf('7')!==-1){
this.selectMonth = 0
}else if(this.thisMonth.indexOf('8')!==-1){
this.selectMonth = 1
}else if(this.thisMonth.indexOf('9')!==-1){
this.selectMonth = 2
}else if(this.thisMonth.indexOf('10')!==-1){
this.selectMonth = 3
}
},500) },500)
// this.currentResult = this.monthResult[this.selectMonth] // this.currentResult = this.monthResult[this.selectMonth]
}, },
@ -1267,6 +1288,8 @@ export default {
this.otherThisMonthSuccess = false this.otherThisMonthSuccess = false
this.serviceSmallSum = false this.serviceSmallSum = false
} }
this.showInComeNotice = false
this.showOutNoitive = false
}, },
// //
handleBack(){ handleBack(){
@ -1286,20 +1309,7 @@ export default {
url: `/pages/revenue/expenditureDetail?month=${this.thisMonth}&type=${type}` url: `/pages/revenue/expenditureDetail?month=${this.thisMonth}&type=${type}`
}); });
}, },
//
async handleGetData(){
uni.showLoading({
title: '正在加载...'
})
const req = {
serverpartId:0,
year:this.thisYear,
month:this.thisMonth
}
const data = await request.$webGet('/CommercialApi/Budget/GetBudgetMainShow',req)
this.pageDetail = data.Result_Data
uni.hideLoading()
},
// //
bindDateChange(e){ bindDateChange(e){
this.single = e.detail.value this.single = e.detail.value
@ -1311,18 +1321,18 @@ export default {
this.selectMonth = 1 this.selectMonth = 1
}else if(this.thisMonth.indexOf('9')!==-1){ }else if(this.thisMonth.indexOf('9')!==-1){
this.selectMonth = 2 this.selectMonth = 2
}else if(this.thisMonth.indexOf('10')!==-1){
this.selectMonth = 3
} }
this.currentResult = this.monthResult[this.selectMonth] // let sum = 0
let sum = 0 // this.currentResult.outList.forEach(item=>{
this.currentResult.outList.forEach(item=>{ // sum+=item.expenditureCostThisYearNumber
sum+=item.expenditureCostThisYearNumber // })
}) // this.outAll = sum
this.outAll = sum // this.outFirst = (this.currentResult.outList[0].expenditureCostThisYearNumber/sum)*100
this.outFirst = (this.currentResult.outList[0].expenditureCostThisYearNumber/sum)*100 // this.outSecond = (this.currentResult.outList[1].expenditureCostThisYearNumber/sum)*100
this.outSecond = (this.currentResult.outList[1].expenditureCostThisYearNumber/sum)*100 // this.outThird = (this.currentResult.outList[2].expenditureCostThisYearNumber/sum)*100
this.outThird = (this.currentResult.outList[2].expenditureCostThisYearNumber/sum)*100 // this.outFourth = (this.currentResult.outList[3].expenditureCostThisYearNumber/sum)*100
this.outFourth = (this.currentResult.outList[3].expenditureCostThisYearNumber/sum)*100
this.handleGetData()
}, },
// //
incomeChildrenShow(item){ incomeChildrenShow(item){
@ -1335,11 +1345,26 @@ export default {
}, },
// swiper // swiper
handleChangeSwiper(e){ handleChangeSwiper(e){
console.log('e',e)
this.selectMonth = e.target.current this.selectMonth = e.target.current
this.thisMonth = this.monthList[this.selectMonth] this.thisMonth = this.monthList[this.selectMonth]
this.single = `${this.thisYear}-${this.thisMonth<10?'0'+this.thisMonth:this.thisMonth}` this.single = `${this.thisYear}-${this.thisMonth<10?'0'+this.thisMonth:this.thisMonth}`
this.currentResult = this.monthResult[this.selectMonth] // this.currentResult = this.monthResult[this.selectMonth]
this.handleGetPageData()
},
//
async handleGetPageData(){
uni.showLoading({
title:'正在加载'
})
const req = {
Month:this.thisMonth
}
const data = await request.$webGetTest('EShangApiMain/Budget/GetbudgetProjectReport',req)
console.log('data',data)
this.currentResult = data.Result_Data
let sum = 0 let sum = 0
if (this.currentResult.outList && this.currentResult.outList.length>0){
this.currentResult.outList.forEach(item=>{ this.currentResult.outList.forEach(item=>{
sum+=item.expenditureCostThisYearNumber sum+=item.expenditureCostThisYearNumber
}) })
@ -1348,14 +1373,15 @@ export default {
this.outSecond = (this.currentResult.outList[1].expenditureCostThisYearNumber/sum)*100 this.outSecond = (this.currentResult.outList[1].expenditureCostThisYearNumber/sum)*100
this.outThird = (this.currentResult.outList[2].expenditureCostThisYearNumber/sum)*100 this.outThird = (this.currentResult.outList[2].expenditureCostThisYearNumber/sum)*100
this.outFourth = (this.currentResult.outList[3].expenditureCostThisYearNumber/sum)*100 this.outFourth = (this.currentResult.outList[3].expenditureCostThisYearNumber/sum)*100
}
uni.hideLoading()
}, },
// //
async handleGetPageData(){ handleShowInComeNotice(){
// const req = { this.showInComeNotice = !this.showInComeNotice
// },
// } handleShowOutNotice(){
// const data = await request.$webGet('',req) this.showOutNoitive = !this.showOutNoitive
} }
} }
} }
@ -2241,6 +2267,23 @@ export default {
box-sizing: border-box; box-sizing: border-box;
padding: 0 32rpx 16rpx; padding: 0 32rpx 16rpx;
background: #fff; background: #fff;
position: relative;
.noticeRate{
display: inline-block;
position: absolute;
top: 10px;left: 50%;
width: 80%;
transform: translateX(-50%);
box-sizing: border-box;
padding: 12px;
background: #fff;
border-radius: 6px;
z-index:99;
color: #A69E9F;
font-size: 12px;
font-weight: 500;
box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(166, 158, 159, 0.3);
}
.inComeRate{ .inComeRate{
width: 100%; width: 100%;
height: 12px; height: 12px;
@ -2748,6 +2791,23 @@ export default {
box-sizing: border-box; box-sizing: border-box;
padding: 0 32rpx 16rpx; padding: 0 32rpx 16rpx;
background: #fff; background: #fff;
position: relative;
.noticeRate{
display: inline-block;
position: absolute;
top: 10px;left: 50%;
width: 80%;
transform: translateX(-50%);
box-sizing: border-box;
padding: 12px;
background: #fff;
border-radius: 6px;
z-index:99;
color: #A69E9F;
font-size: 12px;
font-weight: 500;
box-shadow: 0 4rpx 12rpx 0 rgba(166, 158, 159, 0.3);
}
.expenditureRate{ .expenditureRate{
width: 100%; width: 100%;
height: 12px; height: 12px;