+
{{month}}月业态交易值占比
-
-
商超畅销品
+
{{month}}月商超畅销品
@@ -63,10 +84,12 @@ import BusinessFormat from "./components/bussiness/businessFormat.vue";
import ConsumptionCompare from "./components/bussiness/consumptionCompare.vue";
import BestsellerShop from "./components/bussiness/bestsellerShop.vue";
import NoData from "./components/noData.vue";
+import BandLevel from "./components/format/bandLevel.vue";
export default {
name: "businessPortrait",
components: {
+ BandLevel,
NoData,
BestsellerShop,
ConsumptionCompare,
@@ -84,14 +107,17 @@ export default {
transactionList:[],//交易分析数据
timePeriodList:[],//消费时段分析
levelTopList:[],//消费水平排行
+ bandLevelList:[],//品牌消费水平
businessTypeList:[],//业态适配型
compareList:[],//消费转化对比图
bestsellerList:[],//商超畅销品
serviceInfo:{} ,//当前服务区信息
backType:'',//返回的页面类型
- analyseInfo:{
- analysisins_type: 1401
- },
+ analyseInfo:{},
+ analysisins_type: 1401,
+ single:'',//显示时间
+ endData:'', // 结束时间
+ month:'',//显示月份
}
},
onLoad(option) {
@@ -100,12 +126,19 @@ export default {
this.serviceInfo = serviceInfo
//跳转的时候带上时间
this.time = option.time
+ this.endData = new Date()
},
onShow(){
let storeTime = uni.getStorageSync('lastDay')
if (storeTime){
this.time = storeTime
}
+ this.single = this.$util.getThisMonthHave(this.time)
+ const date = new Date(this.time)
+ let month = date.getMonth() + 1
+ this.month = month<10?'0' + month:month
+ console.log('this.time',this.time)
+
let storeServiceInfo = uni.getStorageSync('currentService')
if (storeServiceInfo){
this.serviceInfo = storeServiceInfo
@@ -125,7 +158,9 @@ export default {
this.getTimePeriodList()
//消费水平排行
this.getLevelTopList()
- //业态适配型
+ //品牌消费水平
+ this.getBandLevelList()
+ //业态交易值占比
this.getBusinessTypeList()
//消费转化对比图
this.getCompareList()
@@ -133,6 +168,36 @@ export default {
this.getBestsellerList()
},
methods:{
+ onRefresh(){
+ //交易分析
+ this.getTransactionList()
+ //消费时段分析
+ this.getTimePeriodList()
+ //消费水平排行
+ this.getLevelTopList()
+ //品牌消费水平
+ this.getBandLevelList()
+ //业态交易值占比
+ this.getBusinessTypeList()
+ //消费转化对比图
+ this.getCompareList()
+ //商超畅销品
+ this.getBestsellerList()
+ this.$forceUpdate()
+ },
+ bindDateChange(e){
+ const date = new Date(e.detail.value)
+ let m = date.getMonth() + 1
+ if (m<10){
+ m = '0' + m
+ }
+ this.month = m
+ this.single = e.detail.value
+ let d = this.$util.getThisMonthDay(e.detail.value)
+ this.endTime = e.detail.value + '-' + d
+ this.time = e.detail.value
+ this.onRefresh()
+ },
async nearestService(){
let seat = uni.getStorageSync('seatInfo');
let req = {
@@ -171,23 +236,28 @@ export default {
Serverpart_ID:this.serviceInfo.Serverpart_ID
}
let totalData = await request.$webGet('CommercialApi/Revenue/GetTransactionTimeAnalysis',req)
-
+ console.log('totalData123213',totalData)
let res = {
- series: [
- {
- name: "",
- data: totalData.Result_Data.data
- }
- ]
+ categories: ["0:00","2:00","4:00","6:00","8:00","10:00","12:00","14:00","16:00","18:00","20:00","22:00","23:00"],
+ series:[{}]
}
- // let res={
+ // let res = {
+ // categories: ["2018","2019","2020","2021","2022","2023"],
// series: [
// {
- // name: "气泡一",
- // data: [[2,35,17],[6,18,9],[10,5,5],[14,8,8],[18,9,9],[22,18,9]]
+ // name: "成交量A",
+ // data: [35,8,25,37,4,20]
+ // },
+ // {
+ // name: "成交量B",
+ // data: [70,40,65,100,44,68]
+ // },
+ // {
+ // name: "成交量C",
+ // data: [100,80,95,150,112,132]
// }
// ]
- // }
+ // };
this.timePeriodList = res
},
async getLevelTopList(){
@@ -195,7 +265,7 @@ export default {
ProvinceCode:'340000',
StatisticsDate:this.time,
ServerpartId:this.serviceInfo.Serverpart_ID,
- ShowWholeTrade:true
+ ShowWholeTrade:false
}
let res = {
categories:[],
@@ -229,6 +299,36 @@ export default {
console.log('res',res)
this.levelTopList = res
},
+ async getBandLevelList(){
+ let req = {
+ ProvinceCode:'340000',
+ StatisticsDate:this.time,
+ ServerpartId:this.serviceInfo.Serverpart_ID,
+ ShowWholeBrand:false
+ }
+ let res =[]
+ let totalData = await request.$webGet('CommercialApi/Revenue/GetBusinessBrandLevel',req)
+ console.log('品牌消费水平',totalData)
+ totalData.Result_Data.legend.forEach(item=>{
+ res.push({name:item,small:0,normal:0,big:0})
+ })
+ res.forEach((item,index)=>{
+ totalData.Result_Data.ColumnList.forEach((subItem,subIndex)=>{
+ if (subItem.name==='低消费'){
+ item.small = subItem.data[index]
+ }else if(subItem.name==='普通消费'){
+ item.normal = subItem.data[index]
+ }else if(subItem.name==='高消费'){
+ item.big = subItem.data[index]
+ }
+ })
+ })
+ // let res=[{name:'五芳斋',big:'14.8',normal:'41.7',small:'43.5'},
+ // {name:'驿佰购',big:'44.1',normal:'31.7',small:'24.2'},
+ // {name:'老娘舅',big:'15.2',normal:'70.1',small:'14.5'},
+ // {name:'吉祥馄饨',big:'25.2',normal:'39.9',small:'34.7'}]
+ this.bandLevelList = res
+ },
async getBusinessTypeList(){
const req = {
ProvinceCode:'340000',
@@ -244,7 +344,9 @@ export default {
res.push({name:`${item.name} ${item.value}%`,value:Number(item.value),number:Number(item.data)})
all+=Number(item.value)
}else if(index===11){
- res.push({name:`其他${(100-all).toFixed(2)}%`,value:Number((100 - all).toFixed(2)),number:Number(item.data)})
+ if (all<100){
+ res.push({name:`其他${(100-all).toFixed(2)}%`,value:Number((100 - all).toFixed(2)),number:Number(item.data)})
+ }
}
})
let result= {
@@ -333,35 +435,75 @@ export default {
// }
this.compareList = res
},
- getBestsellerList(){
+ async getBestsellerList(){
+ let req = {
+ statisticsDate:this.time,
+ provinceCode:'340000',
+ Serverpart_ID:this.serviceInfo.Serverpart_ID,
+ SPRegionType_ID:this.serviceInfo.SPRegionType_ID
+ }
+ const data = await request.$webGet('CommercialApi/Revenue/GetSalableCommodity',req)
+ console.log('data222222222222',data)
+ let dataFirst = [{"name":"热销商品","value":data.Result_Data.SalableCommodity },
+ {"name":"","value":100 - data.Result_Data.SalableCommodity}]
+ let listFirst = []
+ let dataSecond = [{"name":"滞销商品","value":data.Result_Data.UnSalableCommodity},
+ {"name":"","value":100 - data.Result_Data.UnSalableCommodity}]
+ let listSecond = []
+ data.Result_Data.SalableCommodityList.forEach(item=>{
+ listFirst.push({name:item.Commodity_name ,value:item.Proportion })
+ })
+ data.Result_Data.UnSalableCommodityList .forEach(item=>{
+ listSecond.push({name:item.Commodity_name ,value:item.Proportion })
+ })
+
+
let res = [
{
- series: [
+ series:[
{
- data: [{"name":"热销商品","value":39.8},
- {"name":"","value":60.2}],
- list:[{name:'红牛',value:29.3},
- {name:'农夫山泉',value:25.6},
- {name:'康师傅红烧牛肉面桶装牛肉面桶装',value:16.5},
- {name:'方便面',value:15.2},
- {name:'其他',value:13.4}]
+ data:dataFirst,
+ list:listFirst
}
]
},
{
- series: [
+ series:[
{
- data: [{"name":"滞销商品","value":21.6},
- {"name":"","value":78.4}],
- list:[{name:'水杯',value:29.3},
- {name:'吸油纸',value:25.6},
- {name:'康师傅红烧牛肉面桶装牛肉面桶装',value:16.5},
- {name:'纸巾',value:15.2},
- {name:'其他',value:13.4}]
+ data:dataSecond,
+ list:listSecond
}
]
}
]
+ // let res = [
+ // {
+ // series: [
+ // {
+ // data: [{"name":"热销商品","value":39.8},
+ // {"name":"","value":60.2}],
+ // list:[{name:'红牛',value:29.3},
+ // {name:'农夫山泉',value:25.6},
+ // {name:'康师傅红烧牛肉面桶装牛肉面桶装',value:16.5},
+ // {name:'方便面',value:15.2},
+ // {name:'其他',value:13.4}]
+ // }
+ // ]
+ // },
+ // {
+ // series: [
+ // {
+ // data: [{"name":"滞销商品","value":21.6},
+ // {"name":"","value":78.4}],
+ // list:[{name:'水杯',value:29.3},
+ // {name:'吸油纸',value:25.6},
+ // {name:'康师傅红烧牛肉面桶装牛肉面桶装',value:16.5},
+ // {name:'纸巾',value:15.2},
+ // {name:'其他',value:13.4}]
+ // }
+ // ]
+ // }
+ // ]
this.bestsellerList = res
}
}
@@ -393,6 +535,43 @@ export default {
margin-left: 4px;
}
}
+ .time{
+ margin-bottom: 4px;
+ .thisTime{
+ font-size: 14px;
+ font-family: PingFangSC-Semibold, PingFang SC;
+ font-weight: 500;
+ color: #160002;
+ }
+ .select{
+ margin-left: 8px;
+ display: inline-block;
+ .time {
+ display: flex;
+ align-items: center;
+ margin-right: 4px;
+ .day {
+ font-size: 32rpx;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #782717;
+ line-height: 44rpx;
+ margin-right: 4px;
+ }
+ .uni-input {
+ font-size: 14px;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #ae664e;
+ line-height: 36rpx;
+ }
+ .icon {
+ width: 24px;
+ height: 16px;
+ }
+ }
+ }
+ }
}
}
}
diff --git a/pages/commercialBI/carPortrait.vue b/pages/commercialBI/carPortrait.vue
index 84ebdcf..1e2c53f 100644
--- a/pages/commercialBI/carPortrait.vue
+++ b/pages/commercialBI/carPortrait.vue
@@ -58,7 +58,7 @@
月度车流累计