This commit is contained in:
cclu 2023-12-22 18:25:22 +08:00
parent 14ccd691de
commit cf0f90515e
9 changed files with 233 additions and 104 deletions

View File

@ -6,7 +6,7 @@
<header-top :bgUrl="bgUrl" :menu="menu" :bgColor="bgColor" :title="title" :analyseInfo="analyseInfo" :topBg="topBg" :page="page" :backType="backType" <header-top :bgUrl="bgUrl" :menu="menu" :bgColor="bgColor" :title="title" :analyseInfo="analyseInfo" :topBg="topBg" :page="page" :backType="backType"
:serverpartName="serviceInfo.SERVERPART_NAME" :spregionTypeName="serviceInfo.SPREGIONTYPE_NAME" :serviceInfo="serviceInfo" :serverpartName="serviceInfo.SERVERPART_NAME" :spregionTypeName="serviceInfo.SPREGIONTYPE_NAME" :serviceInfo="serviceInfo"
:topLeftBg="topLeftBg" :topLeftColor="topLeftColor" :iconObj="iconObj" :haveIconObj="haveIconObj" :detailBoxBg="detailBoxBg" :topLeftBg="topLeftBg" :topLeftColor="topLeftColor" :iconObj="iconObj" :haveIconObj="haveIconObj" :detailBoxBg="detailBoxBg"
:haveFun="haveFun"/> :haveFun="haveFun" :serviceTypeObj="serviceTypeObj" :serviceInfoObj="serviceInfoObj"/>
<div class="charts"> <div class="charts">
<div class="chartsItem"> <div class="chartsItem">
@ -14,7 +14,7 @@
<p class="title">{{month}}月交易分析</p> <p class="title">{{month}}月交易分析</p>
<div class="time"> <div class="time">
<div class="select"> <div class="select">
<picker mode="date" fields="month" :value="single" :end="endData" @change="bindDateChange" > <picker mode="date" fields="month" :value="single" :start="startTime" :end="endData" @change="bindDateChange" >
<view class="time"> <view class="time">
<view class="uni-input" style="background: transparent;padding: 0;height:100%">{{ single }}</view> <view class="uni-input" style="background: transparent;padding: 0;height:100%">{{ single }}</view>
<image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/index/arrow_bottom.svg"></image> <image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/index/arrow_bottom.svg"></image>
@ -91,6 +91,7 @@ import BestsellerShop from "./components/bussiness/bestsellerShop.vue";
import NoData from "./components/noData.vue"; import NoData from "./components/noData.vue";
import BandLevel from "./components/format/bandLevel.vue"; import BandLevel from "./components/format/bandLevel.vue";
import commercialType from "./commercialType.vue"; import commercialType from "./commercialType.vue";
import {getFieldEnum} from "../../util/dateTime";
export default { export default {
name: "businessPortrait", name: "businessPortrait",
@ -138,28 +139,36 @@ export default {
}, },
single:'',// single:'',//
endData:'', // endData:'', //
startTime:'',//
month:'',// month:'',//
haveFun:{} haveFun:{},
lastDay:'',
serviceTypeObj:{},//
serviceInfoObj:{}
} }
}, },
onLoad(option) { onLoad(option) {
let serviceInfo = JSON.parse(option.serviceInfo) if (option.serviceInfo){
this.serviceInfo = JSON.parse(option.serviceInfo)
}
this.backType = option.type this.backType = option.type
this.serviceInfo = serviceInfo
// //
this.time = option.time this.time = option.time
this.endData = new Date() this.endData = uni.getStorageSync('lastDay')
this.startTime = '2023-01-01'
//
this.handleServiceType()
}, },
onShow(){ onShow(){
let storeTime = uni.getStorageSync('lastDay') let storeTime = uni.getStorageSync('lastDay')
if (storeTime){ if (storeTime){
this.time = storeTime this.time = storeTime
this.lastDay = storeTime
} }
this.single = this.$util.getThisMonthHave(this.time) this.single = this.$util.getThisMonthHave(this.time)
const date = new Date(this.time) const date = new Date(this.time)
let month = date.getMonth() + 1 let month = date.getMonth() + 1
this.month = month<10?'0' + month:month this.month = month<10?'0' + month:month
console.log('this.time',this.time)
let storeServiceInfo = uni.getStorageSync('currentService') let storeServiceInfo = uni.getStorageSync('currentService')
if (storeServiceInfo){ if (storeServiceInfo){
@ -218,12 +227,24 @@ export default {
ServerpartId:this.serviceInfo.Serverpart_ID ServerpartId:this.serviceInfo.Serverpart_ID
} }
const total = await request.$webGet('CommercialApi/BaseInfo/GetServerpartInfo',req) const total = await request.$webGet('CommercialApi/BaseInfo/GetServerpartInfo',req)
this.serviceInfoObj = total.Result_Data
this.haveFun = { this.haveFun = {
car:total.Result_Data.HASPILOTLOUNGE, car:total.Result_Data.HASPILOTLOUNGE,
charge:total.Result_Data.HASCHARGE , charge:total.Result_Data.HASCHARGE ,
bady:total.Result_Data.HASMOTHER , bady:total.Result_Data.HASMOTHER ,
gusetHome:total.Result_Data.HASGUESTROOM gusetHome:total.Result_Data.HASGUESTROOM
} }
},
// SERVERPART_TYPE
async handleServiceType(){
const data = await getFieldEnum({ FieldExplainField: 'SERVERPART_TYPE' });
console.log('data',data)
let obj = {}
data.forEach(item=>{
obj[Number(item.value)] = item.label
})
console.log('obj',obj)
this.serviceTypeObj = obj
}, },
bindDateChange(e){ bindDateChange(e){
const date = new Date(e.detail.value) const date = new Date(e.detail.value)
@ -279,32 +300,52 @@ export default {
uni.setStorageSync('currentService',res) uni.setStorageSync('currentService',res)
}, },
async getTransactionList(){ async getTransactionList(){
const nowDate = new Date() const nowDate = new Date(this.lastDay)
const selectDate = new Date(this.time) const selectDate = new Date(this.single)
//
let selectYear = selectDate.getFullYear()
let nowYear = nowDate.getFullYear()
let selectMonth = selectDate.getMonth() + 1 let selectMonth = selectDate.getMonth() + 1
let nowDateMonth = nowDate.getMonth() + 1 let nowDateMonth = nowDate.getMonth() + 1
let time let time
if (selectMonth === nowDateMonth){ //
let nowYear = nowDate.getFullYear() //
let m if (selectYear===nowYear && selectMonth===nowDateMonth){
let nowDay = nowDate.getDate() - 1 time = this.lastDay
if (nowDateMonth<10){
m = '0' + nowDateMonth
}
if (nowDay<10){
nowDay = '0' + nowDay
}
time = `${nowYear}-${m}-${nowDay}`
}else{ }else{
let selectYear = selectDate.getFullYear() let haveDay = this.$util.getThisMonthDay(`${selectYear}-${selectMonth}`)
let m
if (selectMonth<10){ if (selectMonth<10){
m = '0' + selectMonth selectMonth='0'+selectMonth
} }
let selectDay = this.$util.getThisMonthDay(`${selectYear}-${m}`) time = `${selectYear}-${selectMonth}-${haveDay}`
time = `${selectYear}-${m}-${selectDay}`
} }
// if (selectYear===nowYear){
// if (selectMonth === nowDateMonth){
// let nowYear = nowDate.getFullYear()
// let m
// let nowDay = nowDate.getDate() - 1
// if (nowDateMonth<10){
// m = '0' + nowDateMonth
// }
// if (nowDay<10){
// nowDay = '0' + nowDay
// }
// time = `${nowYear}-${m}-${nowDay}`
// }else{
// let selectYear = selectDate.getFullYear()
// let m
// if (selectMonth<10){
// m = '0' + selectMonth
// }
// let selectDay = this.$util.getThisMonthDay(`${selectYear}-${m}`)
// time = `${selectYear}-${m}-${selectDay}`
// }
// }else{
//
// }
let req = { let req = {
Province_Code:'340000', Province_Code:'340000',

View File

@ -20,8 +20,8 @@
<div class="seize"></div> <div class="seize"></div>
</div> </div>
</div> </div>
<div class="serviceArea" :style="{top : (menu.bottom + 14) + 'px'}" @click="handleGoSelectService"> <div class="serviceArea" :style="{top : (menu.bottom + 14) + 'px'}" >
<div class="picker"> <div class="picker" @click="handleGoSelectService">
<div class="selectService"> <div class="selectService">
<image class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/fixed.svg"></image> <image class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/fixed.svg"></image>
<view class="select"> <view class="select">
@ -42,7 +42,7 @@
<!-- </div>--> <!-- </div>-->
<div class="detailBox"> <div class="detailBox">
<div class="detailTop"> <div class="detailTop">
<div class="topLeft">A类</div> <div class="topLeft">{{serviceTypeObj[serviceInfoObj.SERVERPART_TYPE]}}</div>
<div class="topRight" @click="handleGoServiceMessage"> <div class="topRight" @click="handleGoServiceMessage">
<span class="rightText">查看更多</span> <span class="rightText">查看更多</span>
<img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"/> <img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"/>
@ -344,6 +344,7 @@ import CommercialType from "./commercialType.vue";
import shopCell from "../everdayRenven/components/listUnit.vue"; import shopCell from "../everdayRenven/components/listUnit.vue";
import EntryRate from "./components/car/entryRate.vue"; import EntryRate from "./components/car/entryRate.vue";
import anhuiYestodayRevenueData from "../everdayRenven/components/anhuiYestodayRevenueData"; import anhuiYestodayRevenueData from "../everdayRenven/components/anhuiYestodayRevenueData";
import {getFieldEnum} from "../../util/dateTime";
export default { export default {
name: "carPortrait", name: "carPortrait",
data(){ data(){
@ -395,7 +396,9 @@ export default {
headMsg:null, headMsg:null,
searchEndTime:'', searchEndTime:'',
searchText:'',// searchText:'',//
haveFun:{} haveFun:{},
serviceTypeObj:{},//
serviceInfoObj:{}
} }
}, },
components: { components: {
@ -410,6 +413,8 @@ export default {
onLoad(option){ onLoad(option){
this.isShowAllProvince = option.mustAllProvince this.isShowAllProvince = option.mustAllProvince
this.backType = option.type this.backType = option.type
//
this.handleServiceType()
}, },
onShow(){ onShow(){
this.carTypeList.forEach(item=>{ this.carTypeList.forEach(item=>{
@ -517,6 +522,17 @@ export default {
handleGoServiceMessage(){ handleGoServiceMessage(){
this.$util.toNextRoute('navigateTo', `/pages/map/detail`) this.$util.toNextRoute('navigateTo', `/pages/map/detail`)
}, },
// SERVERPART_TYPE
async handleServiceType(){
const data = await getFieldEnum({ FieldExplainField: 'SERVERPART_TYPE' });
console.log('data',data)
let obj = {}
data.forEach(item=>{
obj[Number(item.value)] = item.label
})
console.log('obj',obj)
this.serviceTypeObj = obj
},
showScoreAnimation1(copyRightItems,id) { showScoreAnimation1(copyRightItems,id) {
/* /*
cxt_arc.arc(x, y, r, sAngle, eAngle, counterclockwise); cxt_arc.arc(x, y, r, sAngle, eAngle, counterclockwise);
@ -689,6 +705,7 @@ export default {
total.Result_Data.RegionInfo.forEach((item,index)=>{ total.Result_Data.RegionInfo.forEach((item,index)=>{
tabList.push({name:item.SERVERPART_REGIONNAME,value:index+1}) tabList.push({name:item.SERVERPART_REGIONNAME,value:index+1})
}) })
this.serviceInfoObj = total.Result_Data
this.tabList = tabList this.tabList = tabList
this.haveFun = { this.haveFun = {
car:total.Result_Data.HASPILOTLOUNGE, car:total.Result_Data.HASPILOTLOUNGE,

View File

@ -9,8 +9,8 @@
<div class="seize"></div> <div class="seize"></div>
</div> </div>
</div> </div>
<div class="serviceArea" :style="{top : (menu.bottom + 14) + 'px'}" @click="handleGoSelectService"> <div class="serviceArea" :style="{top : (menu.bottom + 14) + 'px'}" >
<div class="picker"> <div class="picker" @click="handleGoSelectService">
<div class="selectService"> <div class="selectService">
<image class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/fixed.svg"></image> <image class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/fixed.svg"></image>
<view class="select"> <view class="select">
@ -27,7 +27,7 @@
<div class="detailBox" :style="{background: detailBoxBg}"> <div class="detailBox" :style="{background: detailBoxBg}">
<div class="detailTop"> <div class="detailTop">
<div class="topLeft" :style="{background:topLeftBg,color:topLeftColor}">A类</div> <div class="topLeft" :style="{background:topLeftBg,color:topLeftColor}">{{serviceTypeObj[serviceInfoObj.SERVERPART_TYPE]}}</div>
<div class="topRight" @click="handleGoServiceMessage"> <div class="topRight" @click="handleGoServiceMessage">
<span class="rightText">查看更多</span> <span class="rightText">查看更多</span>
<img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"/> <img class="moreIcon" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"/>
@ -155,6 +155,14 @@ export default {
bady:false, bady:false,
gusetHome:false gusetHome:false
} }
},
serviceInfoObj:{
type:Object,
default:()=>{}
},
serviceTypeObj:{
type:Object,
default:()=>{}
} }
}, },
data() { data() {

View File

@ -112,7 +112,7 @@ export default {
this.dataInfo.TotalOffAmount = this.$util.fmoney(this.dataInfo.TotalOffAmount,2) this.dataInfo.TotalOffAmount = this.$util.fmoney(this.dataInfo.TotalOffAmount,2)
this.dataInfo.TicketCount = this.$util.fmoney(this.dataInfo.TicketCount,2) this.dataInfo.TicketCount = this.$util.fmoney(this.dataInfo.TicketCount,2)
this.dataInfo.TotalCount = this.$util.fmoney(this.dataInfo.TotalCount,2) this.dataInfo.TotalCount = this.$util.fmoney(this.dataInfo.TotalCount,2)
this.dataInfo.average = this.$util.fmoney((value.CashPay / value.TicketCount),2) this.dataInfo.average = value.TicketCount? this.$util.fmoney((Number(value.CashPay) / Number(value.TicketCount)),2):'0.00'
// this.dataInfo.ContractProfitLoss = this.$util.fmoney(this.dataInfo.ContractProfitLoss) // this.dataInfo.ContractProfitLoss = this.$util.fmoney(this.dataInfo.ContractProfitLoss)
// this.dataInfo.SalesPerSquareMeter = this.$util.fmoney(this.dataInfo.SalesPerSquareMeter) // this.dataInfo.SalesPerSquareMeter = this.$util.fmoney(this.dataInfo.SalesPerSquareMeter)
} }

View File

@ -6,15 +6,29 @@
<header-top :bgUrl="bgUrl" :menu="menu" :bgColor="bgColor" :title="title" :analyseInfo="analyseInfo" :topBg="topBg" :page="page" :backType="backType" <header-top :bgUrl="bgUrl" :menu="menu" :bgColor="bgColor" :title="title" :analyseInfo="analyseInfo" :topBg="topBg" :page="page" :backType="backType"
:serverpartName="serviceInfo.SERVERPART_NAME" :spregionTypeName="serviceInfo.SPREGIONTYPE_NAME" :serviceInfo="serviceInfo" :serverpartName="serviceInfo.SERVERPART_NAME" :spregionTypeName="serviceInfo.SPREGIONTYPE_NAME" :serviceInfo="serviceInfo"
:topLeftBg="topLeftBg" :topLeftColor="topLeftColor" :iconObj="iconObj" :haveIconObj="haveIconObj" :detailBoxBg="detailBoxBg" :topLeftBg="topLeftBg" :topLeftColor="topLeftColor" :iconObj="iconObj" :haveIconObj="haveIconObj" :detailBoxBg="detailBoxBg"
:haveFun="haveFun"/> :haveFun="haveFun" :serviceTypeObj="serviceTypeObj" :serviceInfoObj="serviceInfoObj"/>
<div class="charts"> <div class="charts">
<div class="chartsItem"> <div class="chartsItem" >
<p class="title">品牌指数</p>
<div >
<div class="labelList">
<div :class="item[5]?'labelItem labelItemSelect':'labelItem labelItemUnSelect'" v-for="(item,index) in brandLabelList" :key="index" @click="changeLabel(item)">
<image class="icon" :src="item[4]"></image>
<p class="name">{{item[0]}}<text class="number">({{item[1]}})</text></p>
</div>
</div>
<band-number v-if="brandInfoList.length>0" :data="brandInfoList"/>
</div>
<no-data v-if="!brandInfoList.length"/>
</div>
<div class="chartsItem" style="margin-top: 32px">
<div class="top"> <div class="top">
<p class="title">{{thisMonth}}月业态充盈度</p> <p class="title">{{thisMonth}}月业态充盈度</p>
<div class="time"> <div class="time">
<div class="select"> <div class="select">
<picker mode="date" fields="month" :value="single" :end="endData" @change="bindDateChange" > <picker mode="date" fields="month" :value="single" :start="startDate" :end="endData" @change="bindDateChange" >
<view class="time"> <view class="time">
<view class="uni-input" style="background: transparent;padding: 0;height:100%">{{ single }}</view> <view class="uni-input" style="background: transparent;padding: 0;height:100%">{{ single }}</view>
<image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/index/arrow_bottom.svg"></image> <image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/index/arrow_bottom.svg"></image>
@ -23,7 +37,7 @@
</div> </div>
</div> </div>
</div> </div>
<div v-if="fillDegreeList.result.series[0].data.length>0"> <div v-if="fillDegreeList.result && fillDegreeList.result.series[0].data.length>0">
<filling-degree :data="fillDegreeList" @handleChangeBandLevel="handleChangeBandLevel" :isClick="isClick"/> <filling-degree :data="fillDegreeList" @handleChangeBandLevel="handleChangeBandLevel" :isClick="isClick"/>
<analyse :analyseInfo="{analysisins_type: 1502,analysisins_format: 2000}" /> <analyse :analyseInfo="{analysisins_type: 1502,analysisins_format: 2000}" />
</div> </div>
@ -45,19 +59,6 @@
<!-- </div>--> <!-- </div>-->
<!-- <no-data v-else/>--> <!-- <no-data v-else/>-->
<!-- </div>--> <!-- </div>-->
<div class="chartsItem" style="margin-top: 32px">
<p class="title">品牌指数</p>
<div >
<div class="labelList">
<div :class="item[5]?'labelItem labelItemSelect':'labelItem labelItemUnSelect'" v-for="(item,index) in brandLabelList" :key="index" @click="changeLabel(item)">
<image class="icon" :src="item[4]"></image>
<p class="name">{{item[0]}}<text class="number">({{item[1]}})</text></p>
</div>
</div>
<band-number v-if="brandInfoList.length>0" :data="brandInfoList"/>
</div>
<no-data v-if="!brandInfoList.length"/>
</div>
</div> </div>
</div> </div>
</template> </template>
@ -72,6 +73,7 @@ import ConsumptionLevel from "./components/format/consumLevel.vue";
import BandNumber from "./components/format/bandNumber.vue"; import BandNumber from "./components/format/bandNumber.vue";
import NoData from "./components/noData.vue"; import NoData from "./components/noData.vue";
import commercialType from "./commercialType.vue"; import commercialType from "./commercialType.vue";
import {getFieldEnum} from "../../util/dateTime";
export default { export default {
name: "businessPortrait", name: "businessPortrait",
@ -120,16 +122,25 @@ export default {
single:'',// single:'',//
thisMonth:'',// thisMonth:'',//
endData:'', // endData:'', //
haveFun:{} haveFun:{},
startDate:'',//
serviceTypeObj:{},//
serviceInfoObj:{}
} }
}, },
onLoad(option) { onLoad(option) {
let serviceInfo = JSON.parse(option.serviceInfo) if (option){
if (option.serviceInfo){
this.serviceInfo = JSON.parse(option.serviceInfo)
}
this.backType = option.type this.backType = option.type
this.serviceInfo = serviceInfo
// //
this.time = option.time this.time = option.time
this.endData = new Date() }
this.endData = uni.getStorageSync('lastDay')
this.startDate = '2023-01-01'
//
this.handleServiceType()
}, },
onShow(){ onShow(){
let storeTime = uni.getStorageSync('lastDay') let storeTime = uni.getStorageSync('lastDay')
@ -171,35 +182,63 @@ export default {
this.$util.addUserBehavior() this.$util.addUserBehavior()
}, },
methods:{ methods:{
// SERVERPART_TYPE
async handleServiceType(){
const data = await getFieldEnum({ FieldExplainField: 'SERVERPART_TYPE' });
console.log('data',data)
let obj = {}
data.forEach(item=>{
obj[Number(item.value)] = item.label
})
console.log('obj',obj)
this.serviceTypeObj = obj
},
bindDateChange(e){ bindDateChange(e){
this.fillDegreeList = []
this.brandInfoList = []
const date = new Date(e.detail.value) const date = new Date(e.detail.value)
const nowDate = new Date() let storeTime = uni.getStorageSync('lastDay')
const nowDate = new Date(storeTime)
let nowMonth = nowDate.getMonth() + 1 let nowMonth = nowDate.getMonth() + 1
let m = date.getMonth() + 1
this.single = e.detail.value this.single = e.detail.value
let d let y = date.getFullYear()
if (nowMonth === m){ let m = date.getMonth() + 1
let nowYear = nowDate.getFullYear() let nowY = nowDate.getFullYear()
let nowMonth = nowDate.getMonth() +1 let nowM = nowDate.getMonth() + 1
if (nowMonth<10){ if (y === nowY && m === nowM){
nowMonth = '0'+ nowMonth this.time = storeTime
}
let nowDay = nowDate.getDate() - 1
if (nowDay<10){
nowDay = '0'+ nowDay
}
this.time = `${nowYear}-${nowMonth}-${nowDay}`
d = nowDay
}else{ }else{
d = this.$util.getThisMonthDay(e.detail.value) let d = this.$util.getThisMonthDay(e.detail.value)
this.time = e.detail.value + '-' + d
}
if (m<10){ if (m<10){
m = '0' + m m = '0' + m
} }
this.time = `${y}-${m}-${d}`
}
// let d
// if (nowMonth === m){
// let nowYear = nowDate.getFullYear()
// let nowMonth = nowDate.getMonth() +1
// if (nowMonth<10){
// nowMonth = '0'+ nowMonth
// }
// let nowDay = nowDate.getDate() - 1
// if (nowDay<10){
// nowDay = '0'+ nowDay
// }
// this.time = `${nowYear}-${nowMonth}-${nowDay}`
// d = nowDay
// }else{
// d = this.$util.getThisMonthDay(e.detail.value)
// this.time = e.detail.value + '-' + d
// }
// if (m<10){
// m = '0' + m
// }
this.thisMonth = m this.thisMonth = m
this.endTime = e.detail.value + '-' + d this.endTime = storeTime
this.onRefresh() this.onRefresh()
console.log('this.time',this.time) console.log('this.time',this.time)
}, },
@ -217,6 +256,7 @@ export default {
ServerpartId:this.serviceInfo.Serverpart_ID ServerpartId:this.serviceInfo.Serverpart_ID
} }
const total = await request.$webGet('CommercialApi/BaseInfo/GetServerpartInfo',req) const total = await request.$webGet('CommercialApi/BaseInfo/GetServerpartInfo',req)
this.serviceInfoObj = total.Result_Data
this.haveFun = { this.haveFun = {
car:total.Result_Data.HASPILOTLOUNGE, car:total.Result_Data.HASPILOTLOUNGE,
charge:total.Result_Data.HASCHARGE , charge:total.Result_Data.HASCHARGE ,

View File

@ -6,7 +6,7 @@
<header-top :bgUrl="bgUrl" :menu="menu" :topBg="topBg" :bgColor="bgColor" :title="title" :page="page" :backType="backType" :analyseInfo="analyseInfo" <header-top :bgUrl="bgUrl" :menu="menu" :topBg="topBg" :bgColor="bgColor" :title="title" :page="page" :backType="backType" :analyseInfo="analyseInfo"
:serverpartName="serviceInfo.SERVERPART_NAME" :spregionTypeName="serviceInfo.SPREGIONTYPE_NAME" :serviceInfo="serviceInfo" :serverpartName="serviceInfo.SERVERPART_NAME" :spregionTypeName="serviceInfo.SPREGIONTYPE_NAME" :serviceInfo="serviceInfo"
:topLeftBg="topLeftBg" :topLeftColor="topLeftColor" :iconObj="iconObj" :haveIconObj="haveIconObj" :detailBoxBg="detailBoxBg" :topLeftBg="topLeftBg" :topLeftColor="topLeftColor" :iconObj="iconObj" :haveIconObj="haveIconObj" :detailBoxBg="detailBoxBg"
:haveFun="haveFun"/> :haveFun="haveFun" :serviceTypeObj="serviceTypeObj" :serviceInfoObj="serviceInfoObj"/>
<div class="charts"> <div class="charts">
<div class="chartsItem"> <div class="chartsItem">
@ -78,6 +78,7 @@ import ConsumptionLevel from "./components/guest/consumptionLevel.vue";
import BusinessType from "./components/guest/businessType.vue"; import BusinessType from "./components/guest/businessType.vue";
import NoData from "./components/noData.vue"; import NoData from "./components/noData.vue";
import commercialType from "./commercialType.vue"; import commercialType from "./commercialType.vue";
import {getFieldEnum} from "../../util/dateTime";
export default { export default {
name: "guestPortrait", name: "guestPortrait",
components:{NoData, BusinessType, ConsumptionLevel, ConsumPrefer, analyse, headerTop,customerFirst,customerSecond,commercialType}, components:{NoData, BusinessType, ConsumptionLevel, ConsumPrefer, analyse, headerTop,customerFirst,customerSecond,commercialType},
@ -118,16 +119,21 @@ export default {
single:'',// single:'',//
thisMonth:'',// thisMonth:'',//
endData:'', // endData:'', //
haveFun:{} haveFun:{},
serviceTypeObj:{},//
serviceInfoObj:{}
} }
}, },
onLoad(option){ onLoad(option){
let serviceInfo = JSON.parse(option.serviceInfo) if (option.serviceInfo){
this.serviceInfo = JSON.parse(option.serviceInfo)
}
this.backType = option.type this.backType = option.type
this.serviceInfo = serviceInfo
// //
this.time = option.time this.time = option.time
this.endData = new Date() this.endData = new Date()
//
this.handleServiceType()
}, },
onShow(){ onShow(){
let storeTime = uni.getStorageSync('lastDay') let storeTime = uni.getStorageSync('lastDay')
@ -188,6 +194,17 @@ export default {
this.endTime = e.detail.value + '-' + d this.endTime = e.detail.value + '-' + d
this.onRefresh() this.onRefresh()
}, },
// SERVERPART_TYPE
async handleServiceType(){
const data = await getFieldEnum({ FieldExplainField: 'SERVERPART_TYPE' });
console.log('data',data)
let obj = {}
data.forEach(item=>{
obj[Number(item.value)] = item.label
})
console.log('obj',obj)
this.serviceTypeObj = obj
},
// //
onRefresh(){ onRefresh(){
// //
@ -207,6 +224,7 @@ export default {
ServerpartId:this.serviceInfo.Serverpart_ID ServerpartId:this.serviceInfo.Serverpart_ID
} }
const total = await request.$webGet('CommercialApi/BaseInfo/GetServerpartInfo',req) const total = await request.$webGet('CommercialApi/BaseInfo/GetServerpartInfo',req)
this.serviceInfoObj = total.Result_Data
this.haveFun = { this.haveFun = {
car:total.Result_Data.HASPILOTLOUNGE, car:total.Result_Data.HASPILOTLOUNGE,
charge:total.Result_Data.HASCHARGE , charge:total.Result_Data.HASCHARGE ,

View File

@ -6,7 +6,7 @@
<header-top :bgUrl="bgUrl" :menu="menu" :bgColor="bgColor" :title="title" :analyseInfo="analyseInfo" :topBg="topBg" :page="page" :backType="backType" <header-top :bgUrl="bgUrl" :menu="menu" :bgColor="bgColor" :title="title" :analyseInfo="analyseInfo" :topBg="topBg" :page="page" :backType="backType"
:serverpartName="serviceInfo.SERVERPART_NAME" :spregionTypeName="serviceInfo.SPREGIONTYPE_NAME" :serviceInfo="serviceInfo" :serverpartName="serviceInfo.SERVERPART_NAME" :spregionTypeName="serviceInfo.SPREGIONTYPE_NAME" :serviceInfo="serviceInfo"
:topLeftBg="topLeftBg" :topLeftColor="topLeftColor" :iconObj="iconObj" :haveIconObj="haveIconObj" :detailBoxBg="detailBoxBg" :topLeftBg="topLeftBg" :topLeftColor="topLeftColor" :iconObj="iconObj" :haveIconObj="haveIconObj" :detailBoxBg="detailBoxBg"
:haveFun="haveFun"/> :haveFun="haveFun" :serviceTypeObj="serviceTypeObj" :serviceInfoObj="serviceInfoObj"/>
<div class="charts"> <div class="charts">
<div class="chartsItem"> <div class="chartsItem">
@ -197,6 +197,7 @@ import RevenueTrends from "./components/manager/revenueTrends.vue";
import request from '@/util/index.js' import request from '@/util/index.js'
import NoData from "./components/noData.vue"; import NoData from "./components/noData.vue";
import commercialType from "./commercialType.vue"; import commercialType from "./commercialType.vue";
import {getFieldEnum} from "../../util/dateTime";
export default { export default {
name: "businessPortrait", name: "businessPortrait",
@ -251,14 +252,19 @@ export default {
month:'', month:'',
haveFun:{}, haveFun:{},
monthDetail:{},// monthDetail:{},//
serviceTypeObj:{},//
serviceInfoObj:{}
} }
}, },
onLoad(option) { onLoad(option) {
let serviceInfo = JSON.parse(option.serviceInfo) if (option.serviceInfo){
this.serviceInfo = JSON.parse(option.serviceInfo)
}
this.backType = option.type this.backType = option.type
this.serviceInfo = serviceInfo
// //
this.time = option.time this.time = option.time
//
this.handleServiceType()
}, },
onShow(){ onShow(){
this.monthDetail = undefined this.monthDetail = undefined
@ -310,12 +316,24 @@ export default {
this.$util.addUserBehavior() this.$util.addUserBehavior()
}, },
methods:{ methods:{
// SERVERPART_TYPE
async handleServiceType(){
const data = await getFieldEnum({ FieldExplainField: 'SERVERPART_TYPE' });
console.log('data',data)
let obj = {}
data.forEach(item=>{
obj[Number(item.value)] = item.label
})
console.log('obj',obj)
this.serviceTypeObj = obj
},
// //
async getServiceInfo(){ async getServiceInfo(){
let req = { let req = {
ServerpartId:this.serviceInfo.Serverpart_ID ServerpartId:this.serviceInfo.Serverpart_ID
} }
const total = await request.$webGet('CommercialApi/BaseInfo/GetServerpartInfo',req) const total = await request.$webGet('CommercialApi/BaseInfo/GetServerpartInfo',req)
this.serviceInfoObj = total.Result_Data
this.haveFun = { this.haveFun = {
car:total.Result_Data.HASPILOTLOUNGE, car:total.Result_Data.HASPILOTLOUNGE,
charge:total.Result_Data.HASCHARGE , charge:total.Result_Data.HASCHARGE ,

View File

@ -16,12 +16,12 @@
</div> </div>
</div> </div>
<div class="topImg"> <div class="topImg">
<swiper v-if="topBg.length>0" :current="currentImg" class="carousel" @change="changeSwiper"> <swiper v-if="topBg && topBg.length>0" :current="currentImg" class="carousel" @change="changeSwiper">
<swiper-item class="imgIndex" v-for="(item,index) in topBg" :key="index" > <swiper-item class="imgIndex" v-for="(item,index) in topBg" :key="index" >
<image class="img" :src="item"></image> <image class="img" :src="item"></image>
</swiper-item> </swiper-item>
</swiper> </swiper>
<div v-if="topBg.length>0" class="picNumber" @click="handlePreview"> <div v-if="topBg && topBg.length>0" class="picNumber" @click="handlePreview">
<image class="icon" src="/static/images/noImg.svg"></image> <image class="icon" src="/static/images/noImg.svg"></image>
<text class="text"> {{currentImg + 1}} / {{ topBg.length }}</text> <text class="text"> {{currentImg + 1}} / {{ topBg.length }}</text>
<image class="more" src="/static/images/more.svg"></image> <image class="more" src="/static/images/more.svg"></image>

View File

@ -27,7 +27,7 @@
</div> </div>
</div> </div>
</div> </div>
<view class="pageContent"> <view class="pageContent" style="width: 100%;height: calc(100vh - 330rpx);overflow-y: scroll">
<view class="tabBox" v-if="showTab"> <view class="tabBox" v-if="showTab">
<view :class="selectTab===1?'tab selectTab':'tab'" @click="handleChangeSelectTab(1)">驿达应收</view> <view :class="selectTab===1?'tab selectTab':'tab'" @click="handleChangeSelectTab(1)">驿达应收</view>
<view :class="selectTab===2?'tab selectTab':'tab'" @click="handleChangeSelectTab(2)">商家欠款</view> <view :class="selectTab===2?'tab selectTab':'tab'" @click="handleChangeSelectTab(2)">商家欠款</view>
@ -46,7 +46,7 @@
</view> </view>
</view> </view>
</view> </view>
<view class="listBox" style="width: 100%;height: calc(100vh - 420rpx);overflow-y: scroll"> <view class="listBox" >
<view v-if="showList && showList.length>0"> <view v-if="showList && showList.length>0">
<div class="listItem" v-for="(item,index) in showList" :key="index" @click="handleNoneChild(item)"> <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="listBox" :style="{borderBottom:item.showChild?'1px solid #D9DBE0':'0px solid #D9DBE0'}">
@ -189,8 +189,6 @@ export default {
} }
}, },
onLoad(query){ onLoad(query){
console.log('query',query)
console.log('query.noShowTab',typeof (query.noShowTab))
if (query.noShowTab==='true'){ if (query.noShowTab==='true'){
this.showTab = false this.showTab = false
} }
@ -219,7 +217,6 @@ export default {
}, },
methods:{ methods:{
handleChangeTime(e){ handleChangeTime(e){
console.log('e',e)
const date = new Date(e.detail.value) const date = new Date(e.detail.value)
const y = date.getFullYear() const y = date.getFullYear()
let m = date.getMonth() + 1 let m = date.getMonth() + 1
@ -252,8 +249,6 @@ export default {
const data = await request.$webGet('EShangApiMain/Finance/GetProjectSummary',req) const data = await request.$webGet('EShangApiMain/Finance/GetProjectSummary',req)
this.showList = wrapTreeNode(data.Result_Data.List) this.showList = wrapTreeNode(data.Result_Data.List)
this.otherData = data.Result_Data.OtherData this.otherData = data.Result_Data.OtherData
console.log('showList',this.showList)
console.log('otherData',this.otherData)
uni.hideLoading() uni.hideLoading()
this.$forceUpdate() this.$forceUpdate()
}else{ }else{
@ -262,8 +257,6 @@ export default {
// this.realList = list // this.realList = list
this.showList = list this.showList = list
this.otherData = data.Result_Data.OtherData this.otherData = data.Result_Data.OtherData
console.log('showList',this.showList)
console.log('otherData',this.otherData)
uni.hideLoading() uni.hideLoading()
this.$forceUpdate() this.$forceUpdate()
} }
@ -271,7 +264,6 @@ export default {
// // // //
// handleDescList(list){ // handleDescList(list){
// let descList = JSON.parse(JSON.stringify(list)) // let descList = JSON.parse(JSON.stringify(list))
// console.log('descList',descList)
// if (this.searchField===0){ // if (this.searchField===0){
// // // //
// if (this.descType === 'ascend'){ // if (this.descType === 'ascend'){
@ -323,7 +315,6 @@ export default {
}) })
this.$forceUpdate() this.$forceUpdate()
console.log('this.showList',this.showList)
}, },
// //
handleShowSecondChildren(obj,subObj,index){ handleShowSecondChildren(obj,subObj,index){
@ -341,27 +332,23 @@ export default {
// //
async handleGetSETTLEMENT(){ async handleGetSETTLEMENT(){
const data = await getFieldEnum({ FieldExplainField: 'SETTLEMENT_MODES' }); const data = await getFieldEnum({ FieldExplainField: 'SETTLEMENT_MODES' });
console.log('data',data)
if (data && data.length>0){ if (data && data.length>0){
let obj = {} let obj = {}
data.forEach(item=>{ data.forEach(item=>{
obj[item.value] = item.label obj[item.value] = item.label
}) })
this.settlement = obj this.settlement = obj
console.log('this.settlement',this.settlement)
} }
}, },
// //
async handleGetCOMPACTTYPE(){ async handleGetCOMPACTTYPE(){
const data = await getFieldEnum({ FieldExplainField: 'COMPACT_CHARACTER' }); const data = await getFieldEnum({ FieldExplainField: 'COMPACT_CHARACTER' });
console.log('data',data)
if (data && data.length>0){ if (data && data.length>0){
let obj = {} let obj = {}
data.forEach(item=>{ data.forEach(item=>{
obj[item.value] = item.label obj[item.value] = item.label
}) })
this.compactType = obj this.compactType = obj
console.log('this.compactType',this.compactType)
} }
}, },
// //