update
This commit is contained in:
parent
bbe1edf7f3
commit
c29915f8a2
13
pages.json
13
pages.json
@ -250,6 +250,19 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
// 项目分润报表
|
||||
"root": "pages/projectProfitSharing",
|
||||
"pages": [
|
||||
{
|
||||
"path": "index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "",
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
// 商业BI新版
|
||||
"root": "pages/commercialBINew",
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="revenueAnalysisMain">
|
||||
<div class="revenueAnalysis">
|
||||
<div class="revenueTop">
|
||||
<div class="revenueTop" @click="handleRevenueDetail">
|
||||
<div class="revenueTopLeft">
|
||||
<image class="revenueLogo" src="https://eshangtech.com/ShopICO/ahyd-BID/newCommercialBI/managerLogo.svg"/>
|
||||
<div class="revenueTopMoney">
|
||||
@ -89,7 +89,7 @@ export default {
|
||||
name: "revenueAnalysis",
|
||||
data() {
|
||||
return {
|
||||
dataInfo:{}
|
||||
dataInfo:{},
|
||||
}
|
||||
},
|
||||
props: {
|
||||
@ -115,13 +115,32 @@ export default {
|
||||
this.dataInfo.average = this.$util.fmoney((value.CashPay / value.TicketCount),2)
|
||||
// this.dataInfo.ContractProfitLoss = this.$util.fmoney(this.dataInfo.ContractProfitLoss)
|
||||
// this.dataInfo.SalesPerSquareMeter = this.$util.fmoney(this.dataInfo.SalesPerSquareMeter)
|
||||
console.log('value',value)
|
||||
}
|
||||
},
|
||||
deep:true
|
||||
},
|
||||
methods:{
|
||||
methods: {
|
||||
handleRevenueDetail() {
|
||||
let lastDay = uni.getStorageSync('lastDay')
|
||||
let date = new Date(lastDay)
|
||||
let y = date.getFullYear()
|
||||
let m = date.getMonth() + 1
|
||||
if (m < 10) {
|
||||
m = '0' + m
|
||||
}
|
||||
console.log('lastDay',lastDay)
|
||||
let currentService = uni.getStorageSync('currentService')
|
||||
this.$util.toNextRoute('navigateTo',`/pages/operatingStatements/detail?BusinessTypeValue=0&SettlementModeValue=0&et=${lastDay}&id=${currentService.Serverpart_ID}&pcode=340000&searchKey=MerchantName,Brand,Shop,Serverpart&searchValue=&st=${y}-${m}-01`)
|
||||
// BusinessTypeValue: "0"
|
||||
// SettlementModeValue: "0"
|
||||
// et: "2023-12-18"
|
||||
// id: "489"
|
||||
// pcode: "340000"
|
||||
// searchKey: "MerchantName,Brand,Shop,Serverpart"
|
||||
// searchValue: ""
|
||||
// st: "2023-12-01"
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@ -10,13 +10,107 @@
|
||||
|
||||
<div class="charts">
|
||||
<div class="chartsItem">
|
||||
<p class="title">营收分析</p>
|
||||
<p class="title">营收分析<span class="dateText">{{lastDay}}</span></p>
|
||||
<revenue-analysis :data="monthDetail"/>
|
||||
</div>
|
||||
<div class="chartsItem" style="margin-top: 32px">
|
||||
<p class="title">合同保底</p>
|
||||
<contract-guarantee :data="contractList"/>
|
||||
|
||||
<div class="chartsItem" style="margin-top: 32px">
|
||||
<div class="titleTop">
|
||||
<p class="title">本月自营计划</p>
|
||||
<div class="question" @click.stop="handleShowNotice">
|
||||
<image src="https://eshangtech.com/ShopICO/ahyd-BID/index/noticeQuestion.svg"></image>
|
||||
</div>
|
||||
<div v-if="showNotice" class="titleTopNotice">{{monthNoticeText}}</div>
|
||||
<div v-if="showNotice" class="meng" @click.stop="handleNoShowNotice"></div>
|
||||
</div>
|
||||
<view class="box" @click="handleGoServiceInfo('month')">
|
||||
<view class="top">
|
||||
<view class="big">
|
||||
<image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/index/thisMonth.svg"></image>
|
||||
</view>
|
||||
<view class="text">
|
||||
<view class="textTop">
|
||||
<view class="left">
|
||||
<p class="number">{{plan.percentageMonth?plan.percentageMonth + '%':'-'}}</p>
|
||||
<p v-if="plan.percentageMonth>=100" class="desc"><image class="success" src="https://eshangtech.com/ShopICO/ahyd-BID/index/successMonth.svg"></image></p>
|
||||
</view>
|
||||
<view class="right">
|
||||
<text class="comparePlan">比计划: </text>
|
||||
<view class="box2">
|
||||
<image class="addIcon" :src="plan.MonthGrowth_Rate>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'"></image>
|
||||
<p class="text">{{monthAdd?monthAdd + '%':'-'}}</p>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<div class="progressPlan">
|
||||
<div class="trans" :style="{width:plan.percentageMonth + '%'}"></div>
|
||||
<!-- <div class=pro :style="{width:(100 - plan.percentageMonth)+ '%'}"></div>-->
|
||||
<!-- <view class="trans" :style="{width: plan.percentageMonth + '%'}"></view>-->
|
||||
<!-- <image class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/index/progress_orange.png"></image>-->
|
||||
<!-- <div class=pro :style="{width:(100 - plan.percentageMonth)+ '%'}"></div>-->
|
||||
</div>
|
||||
</view>
|
||||
</view>
|
||||
<view class="bottom">
|
||||
<view class="success" style="margin-right: 39px">
|
||||
<p class="text">本月已完成<text class="unit">/元</text></p>
|
||||
<p class="money">{{plan.RevenueMonth_Amount?plan.RevenueMonth_Amount:'-'}}</p>
|
||||
</view>
|
||||
<view class="success">
|
||||
<p class="text">本月计划<text class="unit">/元</text></p>
|
||||
<p class="money">{{plan.BudgetMonth_Amount?plan.BudgetMonth_Amount:'-'}}</p>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</div>
|
||||
<div class="chartsItem" style="margin-top: 32px">
|
||||
<div class="titleTop">
|
||||
<p class="title">年度自营计划</p>
|
||||
<div class="question" @click.stop="handleShowNoticeYear">
|
||||
<image src="https://eshangtech.com/ShopICO/ahyd-BID/index/noticeQuestion.svg"></image>
|
||||
</div>
|
||||
<div v-if="showNoticeYear" class="titleTopNotice">{{yearNoticeText}}</div>
|
||||
<div v-if="showNoticeYear" class="meng" @click.stop="handleNoShowNoticeYear"></div>
|
||||
</div>
|
||||
<view class="box" @click="handleGoServiceInfo('year')">
|
||||
<view class="top">
|
||||
<view class="big">
|
||||
<image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/index/planYear.svg"></image>
|
||||
</view>
|
||||
<view class="text">
|
||||
<view class="textTop">
|
||||
<view class="left">
|
||||
<p class="number">{{plan.percentageYear?plan.percentageYear + '%':'-'}}</p>
|
||||
<p v-if="plan.percentageYear>=100" class="desc" style="color: #4E68FF"><image class="success" src="https://eshangtech.com/ShopICO/ahyd-BID/index/yearSuccess.svg"></image></p>
|
||||
</view>
|
||||
<view class="right">
|
||||
<text class="comparePlan">比计划: </text>
|
||||
<div class="box2">
|
||||
<image class="addIcon" :src="plan.YearGrowth_Rate>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'"></image>
|
||||
<p class="text">{{yearAdd?yearAdd + '%':''}}</p>
|
||||
</div>
|
||||
</view>
|
||||
</view>
|
||||
<div class="progressPlan">
|
||||
<div class="transYear" :style="{width:plan.percentageYear + '%'}"></div>
|
||||
<!-- <image class="img" :style="{width: plan.percentageYear + '%'}" src="https://eshangtech.com/ShopICO/ahyd-BID/index/progress_blue.png"></image>-->
|
||||
<!-- <div class=pro :style="{width:(100 - plan.percentageYear)+ '%'}"></div>-->
|
||||
</div>
|
||||
</view>
|
||||
</view>
|
||||
<view class="bottom">
|
||||
<view class="success" style="margin-right: 39px">
|
||||
<p class="text">年度已完成<text class="unit">/元</text></p>
|
||||
<p class="money">{{plan.RevenueYear_Amount?plan.RevenueYear_Amount:'-'}}</p>
|
||||
</view>
|
||||
<view class="success">
|
||||
<p class="text">年度计划<text class="unit">/元</text></p>
|
||||
<p class="money">{{plan.BudgetYear_Amount?plan.BudgetYear_Amount:'-'}}</p>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</div>
|
||||
|
||||
<!-- <div class="chartsItem" style="margin-top: 32px">-->
|
||||
<!-- <p class="title">客流客单交易</p>-->
|
||||
<!-- <contract-guarantee :data="orderTransaction"/>-->
|
||||
@ -84,102 +178,10 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="chartsItem" style="margin-top: 32px">
|
||||
<div class="titleTop">
|
||||
<p class="title">本月自营计划</p>
|
||||
<div class="question" @click.stop="handleShowNotice">
|
||||
<image src="https://eshangtech.com/ShopICO/ahyd-BID/index/noticeQuestion.svg"></image>
|
||||
</div>
|
||||
<div v-if="showNotice" class="titleTopNotice">{{monthNoticeText}}</div>
|
||||
<div v-if="showNotice" class="meng" @click.stop="handleNoShowNotice"></div>
|
||||
</div>
|
||||
<view class="box" @click="handleGoServiceInfo('month')">
|
||||
<view class="top">
|
||||
<view class="big">
|
||||
<image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/index/thisMonth.svg"></image>
|
||||
</view>
|
||||
<view class="text">
|
||||
<view class="textTop">
|
||||
<view class="left">
|
||||
<p class="number">{{plan.percentageMonth?plan.percentageMonth + '%':'-'}}</p>
|
||||
<p v-if="plan.percentageMonth>=100" class="desc"><image class="success" src="https://eshangtech.com/ShopICO/ahyd-BID/index/successMonth.svg"></image></p>
|
||||
</view>
|
||||
<view class="right">
|
||||
<text class="comparePlan">比计划: </text>
|
||||
<view class="box2">
|
||||
<image class="addIcon" :src="plan.MonthGrowth_Rate>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'"></image>
|
||||
<p class="text">{{monthAdd?monthAdd + '%':'-'}}</p>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<div class="progressPlan">
|
||||
<div class="trans" :style="{width:plan.percentageMonth + '%'}"></div>
|
||||
<!-- <div class=pro :style="{width:(100 - plan.percentageMonth)+ '%'}"></div>-->
|
||||
<!-- <view class="trans" :style="{width: plan.percentageMonth + '%'}"></view>-->
|
||||
<!-- <image class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/index/progress_orange.png"></image>-->
|
||||
<!-- <div class=pro :style="{width:(100 - plan.percentageMonth)+ '%'}"></div>-->
|
||||
</div>
|
||||
</view>
|
||||
</view>
|
||||
<view class="bottom">
|
||||
<view class="success" style="margin-right: 39px">
|
||||
<p class="text">本月已完成<text class="unit">/元</text></p>
|
||||
<p class="money">{{plan.RevenueMonth_Amount?plan.RevenueMonth_Amount:'-'}}</p>
|
||||
</view>
|
||||
<view class="success">
|
||||
<p class="text">本月计划<text class="unit">/元</text></p>
|
||||
<p class="money">{{plan.BudgetMonth_Amount?plan.BudgetMonth_Amount:'-'}}</p>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</div>
|
||||
<div class="chartsItem" style="margin-top: 32px">
|
||||
<div class="titleTop">
|
||||
<p class="title">年度自营计划</p>
|
||||
<div class="question" @click.stop="handleShowNoticeYear">
|
||||
<image src="https://eshangtech.com/ShopICO/ahyd-BID/index/noticeQuestion.svg"></image>
|
||||
</div>
|
||||
<div v-if="showNoticeYear" class="titleTopNotice">{{yearNoticeText}}</div>
|
||||
<div v-if="showNoticeYear" class="meng" @click.stop="handleNoShowNoticeYear"></div>
|
||||
</div>
|
||||
<view class="box" @click="handleGoServiceInfo('year')">
|
||||
<view class="top">
|
||||
<view class="big">
|
||||
<image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/index/planYear.svg"></image>
|
||||
</view>
|
||||
<view class="text">
|
||||
<view class="textTop">
|
||||
<view class="left">
|
||||
<p class="number">{{plan.percentageYear?plan.percentageYear + '%':'-'}}</p>
|
||||
<p v-if="plan.percentageYear>=100" class="desc" style="color: #4E68FF"><image class="success" src="https://eshangtech.com/ShopICO/ahyd-BID/index/yearSuccess.svg"></image></p>
|
||||
</view>
|
||||
<view class="right">
|
||||
<text class="comparePlan">比计划: </text>
|
||||
<div class="box2">
|
||||
<image class="addIcon" :src="plan.YearGrowth_Rate>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'"></image>
|
||||
<p class="text">{{yearAdd?yearAdd + '%':''}}</p>
|
||||
</div>
|
||||
</view>
|
||||
</view>
|
||||
<div class="progressPlan">
|
||||
<div class="transYear" :style="{width:plan.percentageYear + '%'}"></div>
|
||||
<!-- <image class="img" :style="{width: plan.percentageYear + '%'}" src="https://eshangtech.com/ShopICO/ahyd-BID/index/progress_blue.png"></image>-->
|
||||
<!-- <div class=pro :style="{width:(100 - plan.percentageYear)+ '%'}"></div>-->
|
||||
</div>
|
||||
</view>
|
||||
</view>
|
||||
<view class="bottom">
|
||||
<view class="success" style="margin-right: 39px">
|
||||
<p class="text">年度已完成<text class="unit">/元</text></p>
|
||||
<p class="money">{{plan.RevenueYear_Amount?plan.RevenueYear_Amount:'-'}}</p>
|
||||
</view>
|
||||
<view class="success">
|
||||
<p class="text">年度计划<text class="unit">/元</text></p>
|
||||
<p class="money">{{plan.BudgetYear_Amount?plan.BudgetYear_Amount:'-'}}</p>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</div>
|
||||
<div class="chartsItem" style="margin-top: 32px">
|
||||
<p class="title">合同保底</p>
|
||||
<contract-guarantee :data="contractList"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@ -757,6 +759,7 @@ export default {
|
||||
font-weight: 600;
|
||||
color: #160002;
|
||||
line-height: 44rpx;
|
||||
|
||||
}
|
||||
.question{
|
||||
width: 16px;
|
||||
@ -798,6 +801,14 @@ export default {
|
||||
line-height: 20px;
|
||||
margin-left: 4px;
|
||||
}
|
||||
.dateText{
|
||||
display: inline-block;
|
||||
margin-left: 16rpx;
|
||||
font-size: 14px;
|
||||
font-family: PingFangSC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #A69E9F;
|
||||
}
|
||||
}
|
||||
.progress{
|
||||
width:calc(100vw - 32px);
|
||||
|
||||
@ -338,6 +338,7 @@
|
||||
</view>
|
||||
|
||||
<view class="funEntry">
|
||||
<span @click="handleGoProject">111</span>
|
||||
<!-- 五个有背景的导航栏-->
|
||||
<view class="funBox">
|
||||
<view class="firstBox">
|
||||
@ -610,7 +611,7 @@
|
||||
<view class="chart">
|
||||
<div v-show="selectTab===1" v-if="regionProgress.length>0">
|
||||
<div>
|
||||
<div class="operation-c-list" v-for="(item,o) in regionProgress" :key="o">
|
||||
<div class="operation-c-list" v-for="(item,o) in regionProgress" :key="o" :style="{marginBottom:o===regionProgress.length?'0px':''}">
|
||||
<div class="top">
|
||||
<div class="left">
|
||||
<div class="icon">
|
||||
@ -632,7 +633,7 @@
|
||||
</div>
|
||||
<div v-show="selectTab===2" v-if="areaProgress.length>0">
|
||||
<div>
|
||||
<div class="operation-c-list" v-for="(item,o) in areaProgress" :key="o">
|
||||
<div class="operation-c-list" v-for="(item,o) in areaProgress" :key="o" :style="{marginBottom:o===regionProgress.length?'0px':''}">
|
||||
<div class="top">
|
||||
<div class="left">
|
||||
<div class="icon">
|
||||
@ -1185,7 +1186,7 @@ export default {
|
||||
},
|
||||
// 跳转到营收统计
|
||||
goToRevenueStatic(){
|
||||
this.$util.toNextRoute('navigateTo', `/pages/revenueStatistics/index?time=${this.lastDay}`)
|
||||
this.$util.toNextRoute('navigateTo', `/pages/revenueStatistics/index?time=${this.lastDay}&month=${this.single}`)
|
||||
},
|
||||
goToNational(){
|
||||
this.$util.toNextRoute('navigateTo', `/pages/nationalPage/index?time=${this.lastDay}`)
|
||||
@ -1215,6 +1216,9 @@ export default {
|
||||
},
|
||||
handleGoWarning(){
|
||||
this.$util.toNextRoute('navigateTo', `/pages/commercialBI/specialCase`)
|
||||
},
|
||||
handleGoProject(){
|
||||
this.$util.toNextRoute('navigateTo', `/pages/projectProfitSharing/index`)
|
||||
},
|
||||
//门店上传后面感叹号的点击事件
|
||||
handleStoreUpload(){
|
||||
|
||||
@ -356,7 +356,7 @@ export default {
|
||||
margin-right: 16px;
|
||||
}
|
||||
.pickers{
|
||||
min-width: 167px;
|
||||
min-width: 175px;
|
||||
height: 32px;
|
||||
background: #FFFFFF;
|
||||
border-radius: 16px;
|
||||
|
||||
@ -408,7 +408,7 @@ export default {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.left{
|
||||
width: 30%;
|
||||
width: 40%;
|
||||
position: relative;
|
||||
.pick{
|
||||
.box{
|
||||
|
||||
@ -145,6 +145,7 @@ import request from '@/util/index.js'
|
||||
},
|
||||
// 拿到传入的数据
|
||||
onLoad(op) {
|
||||
console.log('op',op)
|
||||
this.pageOption = op
|
||||
if (this.pageOption.st){
|
||||
this.pageData.searchTime[0] = this.pageOption.st
|
||||
|
||||
@ -6,28 +6,36 @@
|
||||
<!-- <view class="searchBtn" @click="handleSelect">查询筛选</view>-->
|
||||
<!-- 搜索框内容 -->
|
||||
<div style="display: flex;align-items: center;justify-content: space-between;padding: 10rpx 0">
|
||||
<div class="search_box">
|
||||
<img src="/static/images/recons/search_icon.svg" alt="" class="search_icon">
|
||||
<input v-model="searchText" confirm-type="search" @confirm="getList" placeholder="请输入关键字" class="select_input" clear/>
|
||||
<img src="/static/images/recons/delete.svg" alt="" class="delete" @click="handleDelete">
|
||||
</div>
|
||||
<!-- <div class="search_box">-->
|
||||
<!-- <img src="/static/images/recons/search_icon.svg" alt="" class="search_icon">-->
|
||||
<!-- <input v-model="searchText" confirm-type="search" @confirm="getList" placeholder="请输入关键字" class="select_input" clear/>-->
|
||||
<!-- <img src="/static/images/recons/delete.svg" alt="" class="delete" @click="handleDelete">-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="select_btn" @click="handleSelect" >-->
|
||||
<!-- <img src="/static/images/recons/select_icon.svg" alt="" class="select_icon">-->
|
||||
<!-- 筛选-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
<!-- 查询时间 -->
|
||||
<div style="display: flex;justify-content: space-between">
|
||||
<view style="display: flex;">
|
||||
<picker mode="date" @change="bindDateChange($event,0)" :value="pageData.searchTime[0]" :end="pageData.endDate" start="2018-12-01" class="screen-unit">
|
||||
<text>{{pageData.searchTime[0]}}</text>
|
||||
<text class="uni-icon uni-icon-arrowdown"></text>
|
||||
</picker>
|
||||
<text class="mr20">至</text>
|
||||
<picker mode="date" @change="bindDateChange($event,1)" :value="pageData.searchTime[1]" :end="pageData.endDate" start="2018-12-01" class="screen-unit">
|
||||
<text>{{pageData.searchTime[1]}}</text>
|
||||
<text class="uni-icon uni-icon-arrowdown"></text>
|
||||
</picker>
|
||||
</view>
|
||||
|
||||
|
||||
<div class="select_btn" @click="handleSelect" >
|
||||
<img src="/static/images/recons/select_icon.svg" alt="" class="select_icon">
|
||||
筛选
|
||||
</div>
|
||||
</div>
|
||||
<!-- 查询时间 -->
|
||||
<div style="display: flex">
|
||||
<picker mode="date" @change="bindDateChange($event,0)" :value="pageData.searchTime[0]" :end="pageData.endDate" start="2018-12-01" class="screen-unit">
|
||||
<text>{{pageData.searchTime[0]}}</text>
|
||||
<text class="uni-icon uni-icon-arrowdown"></text>
|
||||
</picker>
|
||||
<text class="mr20">至</text>
|
||||
<picker mode="date" @change="bindDateChange($event,1)" :value="pageData.searchTime[1]" :end="pageData.endDate" start="2018-12-01" class="screen-unit">
|
||||
<text>{{pageData.searchTime[1]}}</text>
|
||||
<text class="uni-icon uni-icon-arrowdown"></text>
|
||||
</picker>
|
||||
</div>
|
||||
<!-- BusinessType【经营模式】 SettlementMode【结算模式】 -->
|
||||
<!-- <view class="searchBox">-->
|
||||
<!-- <view class="searchItem">-->
|
||||
|
||||
50
pages/projectProfitSharing/components/noData.vue
Normal file
50
pages/projectProfitSharing/components/noData.vue
Normal file
@ -0,0 +1,50 @@
|
||||
<template>
|
||||
<div class="main">
|
||||
<image class="typeImg" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/noData.svg"></image>
|
||||
<p class="text" >抱歉,暂无数据</p>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "noData",
|
||||
data(){
|
||||
return {
|
||||
type:''
|
||||
}
|
||||
},
|
||||
onLoad(query){
|
||||
|
||||
},
|
||||
onUnload() {
|
||||
},
|
||||
methods:{
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.main{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
margin-top: 12px;
|
||||
padding: 16px 0;
|
||||
.typeImg{
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
.text{
|
||||
font-size: 14px;
|
||||
font-family: PingFangSC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #6C737A;
|
||||
line-height: 20rpx;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
658
pages/projectProfitSharing/index.vue
Normal file
658
pages/projectProfitSharing/index.vue
Normal file
@ -0,0 +1,658 @@
|
||||
<template>
|
||||
<view class="main">
|
||||
<div class="headerTop" >
|
||||
<div class="header" :style="{height:menu.height + 'px',top:menu.top+'px'}">
|
||||
<image class="backArrow" src="https://eshangtech.com/ShopICO/ahyd-BID/examine/leftArrowWhite.svg" @click="handleBack"/>
|
||||
<div class="timeSelect">
|
||||
<img class="selectIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/selectDateIcon.svg"/>
|
||||
<picker mode="date" :value="searchText" :end="lastDay" @change="changeAllProvinceSearch" >
|
||||
<view class="time">
|
||||
<view class="text">{{ searchText }}</view>
|
||||
<image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/arrow_bottom.svg"></image>
|
||||
</view>
|
||||
</picker>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="picker" :style="{top:(menu.bottom + 24)+'px'}" @click="handleGoSelectService">
|
||||
<div class="selectService" >
|
||||
<image class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/fixed.svg"></image>
|
||||
<view class="select">
|
||||
<view class="content">
|
||||
<view class="uni-input">{{serviceInfo.SERVERPART_NAME}}</view>
|
||||
<p class="area" v-if="serviceInfo.Serverpart_ID">{{serviceInfo.SPREGIONTYPE_NAME}}</p>
|
||||
<image class="rightArrow" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"></image>
|
||||
</view>
|
||||
</view>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<view class="pageContent">
|
||||
<view class="tabBox">
|
||||
<view :class="selectTab===1?'tab selectTab':'tab'" @click="handleChangeSelectTab(1)">驿达应收</view>
|
||||
<view :class="selectTab===2?'tab selectTab':'tab'" @click="handleChangeSelectTab(2)">商家欠款</view>
|
||||
</view>
|
||||
<view class="descBox">
|
||||
<view class="smallBox">
|
||||
<view class="leftBox">
|
||||
<span class="descLabel">排序字段:</span>
|
||||
<picker mode="selector" :value="searchField" :range="fieldList" range-key="label" @change="handleChangeField">
|
||||
{{fieldList[searchField].label}}
|
||||
</picker>
|
||||
</view>
|
||||
<view class="rightBox" @click="handleChangeDesc">
|
||||
<span class="descText">{{ descType==='ascend'?'升序':'降序' }}</span>
|
||||
<image class="descIcon" :src="descType==='ascend'?'/static/images/project/ascend.svg':'/static/images/project/descend.svg'"/>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="listBox">
|
||||
<view v-if="showList && showList.length>0">
|
||||
<div class="listItem" v-for="(item,index) in showList" :key="index" @click="handleNoneChild(item)">
|
||||
<div class="listBox" :style="{borderBottom:item.showChild?'1px solid #D9DBE0':'0px solid #D9DBE0'}">
|
||||
<div class="itemTop">
|
||||
<div class="itemLeft">
|
||||
<div style="display: flex;align-items: center">
|
||||
<img class="itemFixed" src="https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/fixedIcon.svg"/>
|
||||
<span class="serverName">{{selectTab===1?item.SPREGIONTYPE_NAME?item.SPREGIONTYPE_NAME.split('管理中心')[0]:'':item.MERCHANTS_NAME}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<img class="itemRight" :style="{transform:item.showChild?'':'rotate(-90deg)'}" src="https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/arrow_bottom.svg"/>
|
||||
</div>
|
||||
<div class="itemDetail">
|
||||
<div class="message">
|
||||
<span class="value">{{ $util.fmoney(selectTab===1?(item.ROYALTY_PRICE || 0):(item.SUBROYALTY_PRICE || 0),2)}}</span>
|
||||
<span class="label">{{ selectTab===1?'驿达到账':'商家到账' }}</span>
|
||||
</div>
|
||||
<div class="message">
|
||||
<span class="value">{{ $util.fmoney(selectTab===1?(item.ROYALTYDAILY_THEORY || 0):(item.SUBROYALTYDAILY_THEORY || 0),2) }}</span>
|
||||
<span class="label">{{ selectTab===1?'驿达入账':'商家入账' }}</span>
|
||||
</div>
|
||||
<div class="message">
|
||||
<span class="value">{{ selectTab===1?$util.fmoney(((item.ROYALTY_PRICE || 0) - (item.ROYALTYDAILY_THEORY || 0)),2):
|
||||
$util.fmoney(((item.SUBROYALTY_PRICE || 0) - (item.SUBROYALTYDAILY_THEORY || 0)),2)}}</span>
|
||||
<span class="label">{{ selectTab===1?'驿达差额':'商家应缴' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="childList" v-if="item.showChild && item.children && item.children.length>0">
|
||||
<div class="childItem" @click.stop="handleShowSecondChildren(item,subItem)" v-for="(subItem,subIndex) in item.children" :key="subIndex">
|
||||
<div class="secondItemBox" :style="{borderBottom:subItem.showChild?'1px solid #D9DBE0':'0px solid #D9DBE0'}">
|
||||
<div class="childTop">
|
||||
<div class="topLeft">
|
||||
<div class="imgBox">
|
||||
<image class="topIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/newCommercial/mapIcon.svg"/>
|
||||
</div>
|
||||
<span class="serviceName">{{subItem.SERVERPART_NAME}}</span>
|
||||
</div>
|
||||
<image class="topRight" :style="{transform:subItem.showChild?'rotate(90deg)':''}" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"/>
|
||||
</div>
|
||||
<div class="childDetailBox">
|
||||
<div class="message">
|
||||
<span class="value">{{ $util.fmoney(selectTab===1?(subItem.ROYALTY_PRICE || 0):(subItem.SUBROYALTY_PRICE || 0),2)}}</span>
|
||||
<span class="label">{{ selectTab===1?'驿达到账':'商家到账' }}</span>
|
||||
</div>
|
||||
<div class="message">
|
||||
<span class="value">{{ $util.fmoney(selectTab===1?(subItem.ROYALTYDAILY_THEORY || 0):(subItem.SUBROYALTYDAILY_THEORY || 0),2) }}</span>
|
||||
<span class="label">{{ selectTab===1?'驿达入账':'商家入账' }}</span>
|
||||
</div>
|
||||
<div class="message">
|
||||
<span class="value">{{ selectTab===1?$util.fmoney(((subItem.ROYALTY_PRICE || 0) - (subItem.ROYALTYDAILY_THEORY || 0)),2):
|
||||
$util.fmoney(((subItem.SUBROYALTY_PRICE || 0) - (subItem.SUBROYALTYDAILY_THEORY || 0)),2)}}</span>
|
||||
<span class="label">{{ selectTab===1?'驿达差额':'商家应缴' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="childDetailList" v-if="subItem.showChild && subItem.children && subItem.children.length>0">
|
||||
<div class="thirdItem" v-for="(thirdItem,thirdIndex) in subItem.children" :key="thirdIndex" :style="{borderBottom:thirdIndex===subItem.children.length-1?'0 solid #EEEEEE':'2px solid #EEEEEE'}">
|
||||
<div class="thirdItemTop">
|
||||
<div class="itemBox">
|
||||
<span class="label">经营单位:</span>
|
||||
<span>{{selectTab===1?thirdItem.MERCHANTS_NAME:thirdItem.SERVERPARTSHOP_NAME}}</span>
|
||||
</div>
|
||||
<div class="itemBox" v-if="selectTab===1">
|
||||
<span class="label">经营门店:</span>
|
||||
<span>{{thirdItem.SERVERPARTSHOP_NAME}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="thirdItemBottom">
|
||||
<div class="bottomItem">
|
||||
<span class="value">{{ $util.fmoney(selectTab===1?(thirdItem.ROYALTY_PRICE || 0):(thirdItem.SUBROYALTY_PRICE || 0),2)}}</span>
|
||||
<span class="label">{{ selectTab===1?'驿达到账':'商家到账' }}</span>
|
||||
</div>
|
||||
<div class="bottomItem">
|
||||
<span class="value">{{ $util.fmoney(selectTab===1?(thirdItem.ROYALTYDAILY_THEORY || 0):(thirdItem.SUBROYALTYDAILY_THEORY || 0),2) }}</span>
|
||||
<span class="label">{{ selectTab===1?'驿达入账':'商家入账' }}</span>
|
||||
</div>
|
||||
<div class="bottomItem">
|
||||
<span class="value">{{ selectTab===1?$util.fmoney(((thirdItem.ROYALTY_PRICE || 0) - (thirdItem.ROYALTYDAILY_THEORY || 0)),2):
|
||||
$util.fmoney(((thirdItem.SUBROYALTY_PRICE || 0) - (thirdItem.SUBROYALTYDAILY_THEORY || 0)),2)}}</span>
|
||||
<span class="label">{{ selectTab===1?'驿达差额':'商家应缴' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="thirdItemBottom">
|
||||
<div class="bottomItem">
|
||||
<span class="value">{{thirdItem.BUSINESS_TYPE===1000?'合作经营':thirdItem.BUSINESS_TYPE===2000?'固定租金':thirdItem.BUSINESS_TYPE===3000?'自营提成':thirdItem.BUSINESS_TYPE===4000?'业主自营':''}}</span>
|
||||
<span class="label">经营模式</span>
|
||||
</div>
|
||||
<div class="bottomItem">
|
||||
<span class="value">{{thirdItem.SETTLEMENT_MODES?settlement[thirdItem.SETTLEMENT_MODES]:'-'}}</span>
|
||||
<span class="label">结算模式</span>
|
||||
</div>
|
||||
<div class="bottomItem">
|
||||
<span class="value">{{thirdItem.COMPACT_TYPE?compactType[thirdItem.COMPACT_TYPE]:'-'}}</span>
|
||||
<span class="label">合同类型</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</view>
|
||||
<view class="noDataBox" v-else>
|
||||
<NoData/>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
import request from '@/util/index.js'
|
||||
import NoData from "./components/noData.vue";
|
||||
import {getFieldEnum, wrapTreeNode} from "../../util/dateTime";
|
||||
|
||||
export default {
|
||||
components: {NoData},
|
||||
data() {
|
||||
return {
|
||||
searchText:'',// 搜索的时间
|
||||
menu:{}, //手机参数,
|
||||
statusBarHeight:'',
|
||||
serviceInfo:{},// 当前服务区信息
|
||||
selectTab: 1,
|
||||
showList: [],// 显示的列表
|
||||
otherData:{},// 接口返回的其他信息
|
||||
settlement:{},// 结算模式的枚举
|
||||
compactType:{},// 合同类型的枚举
|
||||
searchField:0,// 排序字段
|
||||
fieldList:[{label:'驿达到账',value:0},{label:'驿达入账',value:1},{label:'驿达差额',value:2}],
|
||||
descType:'ascend',// 排序状态
|
||||
}
|
||||
},
|
||||
onLoad(){
|
||||
let systemInfo = uni.getSystemInfoSync()
|
||||
this.statusBarHeight = Number(systemInfo.statusBarHeight)
|
||||
this.menu = uni.getMenuButtonBoundingClientRect()
|
||||
this.handleGetSETTLEMENT()
|
||||
this.handleGetCOMPACTTYPE()
|
||||
},
|
||||
onShow(){
|
||||
this.fieldList = this.selectTab===1?[{label:'驿达到账',value:0},{label:'驿达入账',value:1},{label:'驿达差额',value:2}]:[{label:'商家到账',value:0},{label:'商家入账',value:1},{label:'商家应缴',value:2}]
|
||||
this.searchText = uni.getStorageSync('lastDay')
|
||||
this.serviceInfo = uni.getStorageSync('currentService')
|
||||
this.handleGetPageData()
|
||||
},
|
||||
methods:{
|
||||
async handleGetPageData(){
|
||||
// Finance/GetProjectSummary 是驿达应收
|
||||
// Finance/GetProjectMerchantSummary 是商家欠款
|
||||
uni.showLoading({
|
||||
title: '正在加载...'
|
||||
})
|
||||
const req = {
|
||||
StartDate: this.searchText,
|
||||
EndDate: this.searchText,
|
||||
ServerpartId:this.serviceInfo.Serverpart_ID,
|
||||
CompactType:'340001'
|
||||
}
|
||||
if (this.selectTab===1){
|
||||
const data = await request.$webGet('EShangApiMain/Finance/GetProjectSummary',req)
|
||||
this.showList = wrapTreeNode(data.Result_Data.List)
|
||||
this.otherData = data.Result_Data.OtherData
|
||||
console.log('showList',this.showList)
|
||||
console.log('otherData',this.otherData)
|
||||
uni.hideLoading()
|
||||
}else{
|
||||
const data = await request.$webGet('EShangApiMain/Finance/GetProjectMerchantSummary',req)
|
||||
let list = wrapTreeNode(data.Result_Data.List)
|
||||
this.showList = list
|
||||
this.otherData = data.Result_Data.OtherData
|
||||
console.log('showList',this.showList)
|
||||
console.log('otherData',this.otherData)
|
||||
uni.hideLoading()
|
||||
}
|
||||
},
|
||||
//跳转到地图
|
||||
handleGoSelectService() {
|
||||
uni.navigateTo({
|
||||
url:`/pages/map/index?chartType=${true}&page=/pages/projectProfitSharing/index&serviceInfo=${JSON.stringify(this.serviceInfo)}`
|
||||
})
|
||||
},
|
||||
// 回退方法
|
||||
handleBack(){
|
||||
uni.navigateBack({
|
||||
delta: 1
|
||||
})
|
||||
},
|
||||
// 切换选项卡
|
||||
handleChangeSelectTab(num){
|
||||
this.selectTab = num
|
||||
this.handleGetPageData()
|
||||
},
|
||||
// 显示子集
|
||||
handleNoneChild(obj){
|
||||
this.showList.forEach(item=>{
|
||||
if (this.selectTab===1){
|
||||
if (item.SPREGIONTYPE_NAME === obj.SPREGIONTYPE_NAME){
|
||||
item.showChild = !item.showChild
|
||||
}
|
||||
}else{
|
||||
if (item.MERCHANTS_NAME === obj.MERCHANTS_NAME){
|
||||
item.showChild = !item.showChild
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
this.$forceUpdate()
|
||||
console.log('this.showList',this.showList)
|
||||
},
|
||||
// 显示第二层子集
|
||||
handleShowSecondChildren(obj,subObj){
|
||||
this.showList.forEach(item=>{
|
||||
if (item.SPREGIONTYPE_NAME === obj.SPREGIONTYPE_NAME){
|
||||
item.children.forEach(subItem=>{
|
||||
if (subItem.SPREGIONTYPE_NAME === subObj.SPREGIONTYPE_NAME){
|
||||
subItem.showChild = !subItem.showChild
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
this.$forceUpdate()
|
||||
},
|
||||
// 拿到结算模式的枚举
|
||||
async handleGetSETTLEMENT(){
|
||||
const data = await getFieldEnum({ FieldExplainField: 'SETTLEMENT_MODES' });
|
||||
console.log('data',data)
|
||||
if (data && data.length>0){
|
||||
let obj = {}
|
||||
data.forEach(item=>{
|
||||
obj[item.value] = item.label
|
||||
})
|
||||
this.settlement = obj
|
||||
console.log('this.settlement',this.settlement)
|
||||
}
|
||||
},
|
||||
// 拿到合同类型的枚举
|
||||
async handleGetCOMPACTTYPE(){
|
||||
const data = await getFieldEnum({ FieldExplainField: 'COMPACT_CHARACTER' });
|
||||
console.log('data',data)
|
||||
if (data && data.length>0){
|
||||
let obj = {}
|
||||
data.forEach(item=>{
|
||||
obj[item.value] = item.label
|
||||
})
|
||||
this.compactType = obj
|
||||
console.log('this.compactType',this.compactType)
|
||||
}
|
||||
},
|
||||
// 改变排序状态
|
||||
handleChangeDesc(){
|
||||
if (this.descType==='ascend'){
|
||||
this.descType = 'descend'
|
||||
}else{
|
||||
this.descType = 'ascend'
|
||||
}
|
||||
},
|
||||
// 改变排序字段
|
||||
handleChangeField(e){
|
||||
this.searchField = Number(e.detail.value)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
@import '/static/public/font/stylesheet.css';
|
||||
.main{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
.headerTop{
|
||||
width: 100%;
|
||||
height: 152px;
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
background: linear-gradient(90deg, #60AAFF 0%,#3E74FF 100%);
|
||||
.header{
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
padding: 0 16px;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.backArrow{
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin-right: 16px;
|
||||
}
|
||||
.timeSelect{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.selectIcon{
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
.time{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.text{
|
||||
margin: 0 5px;
|
||||
color: #fff;
|
||||
}
|
||||
.icon{
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.picker{
|
||||
position: absolute;
|
||||
left: 16px;
|
||||
.selectService{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.img{
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
z-index: 2;
|
||||
}
|
||||
.select{
|
||||
height: 32px;
|
||||
background: #F8F8FA;
|
||||
border-radius: 0 16px 16px 0;
|
||||
transform: translateX(-20px);
|
||||
box-sizing: border-box;
|
||||
padding-left: 25px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.content{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.uni-input{
|
||||
padding: 0;
|
||||
background: transparent;
|
||||
font-size: 14px;
|
||||
font-family: PingFangSC-Semibold, PingFang SC;
|
||||
font-weight: 600;
|
||||
color: #160002;
|
||||
}
|
||||
.area{
|
||||
font-size: 12px;
|
||||
font-family: PingFangSC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #786B6C;
|
||||
line-height: 40px;
|
||||
margin-left: 4px;
|
||||
}
|
||||
.rightArrow{
|
||||
width: 24px;
|
||||
height: 12px;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.pageContent{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
padding: 16rpx 32rpx 0;
|
||||
box-sizing: border-box;
|
||||
background: #f8f8f8;
|
||||
.tabBox{
|
||||
width: 100%;
|
||||
height: 76rpx;
|
||||
box-sizing: border-box;
|
||||
padding: 8rpx;
|
||||
background: #F2F1F1;
|
||||
border-radius: 8rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
.tab{
|
||||
width: calc((100% - 16rpx)/2);
|
||||
height: 100%;
|
||||
border-radius: 8rpx;
|
||||
text-align: center;
|
||||
line-height: 60rpx;
|
||||
font-size: 28rpx;
|
||||
font-family: PingFangSC, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #786B6C;
|
||||
}
|
||||
.selectTab{
|
||||
background: #FFFFFF;
|
||||
color: #160002;
|
||||
}
|
||||
}
|
||||
.descBox{
|
||||
width: 100%;
|
||||
.smallBox{
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
.leftBox{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.rightBox{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.descIcon{
|
||||
width: 50rpx;
|
||||
height: 50rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.listBox{
|
||||
padding-top: 24rpx;
|
||||
.listItem{
|
||||
margin-bottom: 12px;
|
||||
border: 1px solid #D9DBE0;
|
||||
border-radius: 8px;
|
||||
position: relative;
|
||||
.bg{
|
||||
position: absolute;
|
||||
right: 0;top: 0;
|
||||
width: 97px;
|
||||
height: 97px;
|
||||
}
|
||||
.listBox{
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
padding: 12px 16px;
|
||||
background: linear-gradient(314deg, #EAEFFF 0%, #F3F5FF 32%, #F5FCFF 50%, #F0F7FF 67%, #DBE5FF 100%);
|
||||
border-bottom: 1px solid #D9DBE0;
|
||||
border-radius: 8px;
|
||||
.itemTop{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
.itemLeft{
|
||||
display: inline-block;
|
||||
padding: 2px 8px;
|
||||
background: rgba(26, 95, 255, 0.1);
|
||||
border-radius: 14px;
|
||||
.itemFixed{
|
||||
width: 12px;
|
||||
height: 14px;
|
||||
margin-right: 4px;
|
||||
}
|
||||
.serverName{
|
||||
font-size: 16px;
|
||||
font-family: Alimama ShuHeiTi;
|
||||
color: #1A5FFF;
|
||||
line-height: 22px
|
||||
}
|
||||
}
|
||||
.itemRight{
|
||||
width: 26px;
|
||||
height: 14px;
|
||||
}
|
||||
}
|
||||
.itemDetail{
|
||||
margin-top: 16px;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
.message{
|
||||
width: 33%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.cirRate{
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
}
|
||||
.label{
|
||||
font-size: 14px;
|
||||
font-family: PingFangSC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #786B6C;
|
||||
line-height: 20px
|
||||
}
|
||||
.value{
|
||||
font-size: 18px;
|
||||
font-family: DINAlternate-Bold, DINAlternate;
|
||||
font-weight: bold;
|
||||
color: #160002;
|
||||
line-height: 24px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.childList{
|
||||
border-radius: 8px 8px 0 0;
|
||||
width: 100%;
|
||||
.childItem{
|
||||
width: 100%;
|
||||
.secondItemBox{
|
||||
padding: 12px 16px;
|
||||
box-sizing: border-box;
|
||||
border-bottom: 1px solid #EEEEEE;
|
||||
border-radius: 8px;
|
||||
.childTop{
|
||||
width: 100%;
|
||||
margin-bottom: 12px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
.topLeft{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.imgBox{
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
border-radius: 50%;
|
||||
border: 1px solid #FFFFFF;
|
||||
overflow: hidden;
|
||||
.topIcon{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
.serviceName{
|
||||
font-size: 16px;
|
||||
font-family: PingFangSC-Semibold, PingFang SC;
|
||||
font-weight: 600;
|
||||
color: #160002;
|
||||
line-height: 22px;
|
||||
margin-left: 6px;
|
||||
}
|
||||
}
|
||||
.topRight{
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
}
|
||||
.childDetailBox{
|
||||
margin-top: 16px;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
.message{
|
||||
width: 33%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.cirRate{
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
}
|
||||
.label{
|
||||
font-size: 14px;
|
||||
font-family: PingFangSC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #786B6C;
|
||||
line-height: 20px
|
||||
}
|
||||
.value{
|
||||
font-size: 18px;
|
||||
font-family: DINAlternate-Bold, DINAlternate;
|
||||
font-weight: bold;
|
||||
color: #160002;
|
||||
line-height: 24px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.childDetailList{
|
||||
box-sizing: border-box;
|
||||
padding: 0 16px;
|
||||
|
||||
.thirdItem{
|
||||
padding: 12px 0;
|
||||
box-sizing: border-box;
|
||||
border-bottom: 2px solid #EEEEEE;
|
||||
.thirdItemTop{
|
||||
|
||||
}
|
||||
.thirdItemBottom{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
.bottomItem{
|
||||
width: 33%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.noDataBox{
|
||||
width: 100%;
|
||||
min-height: 60vh;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@ -1380,10 +1380,14 @@ export default {
|
||||
uni.showLoading({
|
||||
title:'正在加载'
|
||||
})
|
||||
const date = new Date(this.single)
|
||||
const y = date.getFullYear()
|
||||
let m = date.getMonth() + 1
|
||||
const req = {
|
||||
Month:this.thisMonth
|
||||
Month:`${y}${m}`
|
||||
}
|
||||
const data = await request.$webGet('EShangApiMain/Budget/GetbudgetProjectReport',req)
|
||||
// const data = await request.$webGet('EShangApiMain/Budget/GetbudgetProjectReport',req)
|
||||
const data = await request.$webGet('EShangApiMain/Budget/GetbudgetProjectReportDynamic',req)
|
||||
console.log('data',data)
|
||||
this.currentResult = data.Result_Data
|
||||
let sum = 0
|
||||
|
||||
@ -429,14 +429,10 @@ export default {
|
||||
console.log('statusBarHeight',this.statusBarHeight)
|
||||
console.log('menu',this.menu)
|
||||
if (option.time){
|
||||
const date = new Date(option.time)
|
||||
let y = date.getFullYear()
|
||||
let m = date.getMonth() + 1
|
||||
if (m<10){
|
||||
m = '0'+m
|
||||
}
|
||||
this.lastDay = option.time
|
||||
this.searchText = `${y}-${m}`
|
||||
}
|
||||
if (option.month){
|
||||
this.searchText = option.month
|
||||
}
|
||||
this.handleGetTableData()
|
||||
},
|
||||
|
||||
1
static/images/project/ascend.svg
Normal file
1
static/images/project/ascend.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1702971985062" class="icon" viewBox="0 0 1824 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6322" xmlns:xlink="http://www.w3.org/1999/xlink" width="356.25" height="200"><path d="M863.764 270.458c32.518-35.975 85.239-35.975 117.757 0l401.018 443.652c32.519 35.977 19.57 65.14-28.913 65.14H491.657c-48.485 0-61.43-29.164-28.913-65.14l401.018-443.652z" fill="#1890ff" p-id="6323"></path></svg>
|
||||
|
After Width: | Height: | Size: 548 B |
1
static/images/project/descend.svg
Normal file
1
static/images/project/descend.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1702972049000" class="icon" viewBox="0 0 1824 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7371" xmlns:xlink="http://www.w3.org/1999/xlink" width="356.25" height="200"><path d="M855.721 739.856c30.486 33.728 79.913 33.728 110.397 0l375.954-415.921c30.487-33.729 18.347-61.069-27.103-61.069h-808.099c-45.455 0-57.591 27.341-27.106 61.068l375.955 415.923z" p-id="7372" fill="#1890ff"></path></svg>
|
||||
|
After Width: | Height: | Size: 554 B |
@ -1,3 +1,4 @@
|
||||
import request from '@/util/index.js'
|
||||
export function timestampToTime(timestamp) {
|
||||
const date = new Date(timestamp) //时间戳为10位需*1000,时间戳为13位的话不需乘1000
|
||||
const Y = date.getFullYear() + '-'
|
||||
@ -80,3 +81,23 @@ export function tableList(list) {
|
||||
success: true,
|
||||
};
|
||||
}
|
||||
export function formateField(list) {
|
||||
const valueNumber = [];
|
||||
|
||||
list.map((n) => {
|
||||
if (!isNaN(Number(n.value))) {
|
||||
valueNumber.push({
|
||||
label: n.label,
|
||||
value: numeral(n.value).value(),
|
||||
});
|
||||
}
|
||||
});
|
||||
return valueNumber.length > 0 ? valueNumber : list;
|
||||
}
|
||||
export async function getFieldEnum(params){
|
||||
const data = await request.$webGet(`/EShangApiMain/FrameWork/GetFieldEnumByField`, params);
|
||||
if (data.Result_Code !== 100) {
|
||||
return [];
|
||||
}
|
||||
return data.Result_Data.List;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user