From 35b87e6cba77da0b43bb3720b080319d275d7967 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E9=B1=BC=E5=BC=80=E5=8F=91?= Date: Thu, 4 Jul 2024 14:57:29 +0800 Subject: [PATCH] fixed --- commons/js/config.js | 2 +- components/channel-tab-bar/index.js | 12 +- pages/channel/index.js | 8 +- pages/dataAnalysis/detail/index.js | 101 ++++++++++++---- pages/dataAnalysis/detail/index.json | 2 +- pages/dataAnalysis/detail/index.wxml | 10 +- pages/dataAnalysis/index.js | 72 ++++++++---- pages/dataAnalysis/index.wxml | 24 ++-- pages/index/index.wxml | 2 +- pages/storeData/customerData/index.js | 146 ++++++++++++------------ pages/storeData/customerData/index.wxml | 4 +- pages/storeData/index.wxml | 10 +- pages/storeData/subData/index.js | 6 +- pages/storeData/subData/index.wxml | 4 +- 14 files changed, 238 insertions(+), 165 deletions(-) diff --git a/commons/js/config.js b/commons/js/config.js index 316d20f..7264ba7 100644 --- a/commons/js/config.js +++ b/commons/js/config.js @@ -1,4 +1,4 @@ -const env = "p"; +const env = "d"; const version = 1, diff --git a/components/channel-tab-bar/index.js b/components/channel-tab-bar/index.js index f1a1515..8c20fcd 100644 --- a/components/channel-tab-bar/index.js +++ b/components/channel-tab-bar/index.js @@ -19,12 +19,12 @@ Component({ "activeIcon": "tab-home-ac", "title": "首页", }, - // { - // "url": "/pages/dataAnalysis/index", - // "icon": "tab-dataAnalysis", - // "activeIcon": "tab-dataAnalysis-ac", - // "title": "数据分析", - // }, + { + "url": "/pages/dataAnalysis/index", + "icon": "tab-dataAnalysis", + "activeIcon": "tab-dataAnalysis-ac", + "title": "数据分析", + }, { "url": "/pages/mine/index?source=channel", "icon": "tab-mine", diff --git a/pages/channel/index.js b/pages/channel/index.js index b2527b3..8d9cc08 100644 --- a/pages/channel/index.js +++ b/pages/channel/index.js @@ -38,7 +38,7 @@ Page({ deallist:'', hoursTip:'', isShowProfile:true,//是否显示授权用户信息按钮 - propvince_id:'',//默认省 + province_id:'',//默认省 }, onLoad(options) { @@ -145,10 +145,10 @@ Page({ let areaArr = [] // let cur_index = [] area_list.forEach((item,index) => { - if(item.propvince_id==area_id[0]){ + if(item.province_id==area_id[0]){ item.children.forEach((it,idx)=>{ if(it.city_id==area_id[1]){ - // cur_index = [item.propvince_id,it.city_id] + // cur_index = [item.province_id,it.city_id] this.setData({ areaIndex: [index,idx] }) @@ -198,7 +198,7 @@ Page({ //20240526选择地区 changeArea(e){ this.setData({ - province_id:this.data.area_list[e.detail.value[0]]['propvince_id'], + province_id:this.data.area_list[e.detail.value[0]]['province_id'], city_id:this.data.area_list[e.detail.value[0]].children[e.detail.value[1]].city_id, areaIndex: e.detail.value, }) diff --git a/pages/dataAnalysis/detail/index.js b/pages/dataAnalysis/detail/index.js index 8a38616..7d6f9d5 100644 --- a/pages/dataAnalysis/detail/index.js +++ b/pages/dataAnalysis/detail/index.js @@ -32,6 +32,12 @@ function Pie1Chart(canvas, width, height, dpr) { chart.setOption(option); chart.on('click',function(e){ console.log(e) + if(e.data.id>0){ + let obj = {} + obj.type = 1 + obj.id = e.data.id + _.eventBus.emit("customerstats",obj) + } }); return chart; } @@ -88,34 +94,82 @@ Page({ }) } - this.getAppCity() + this.getAppArea() + + let that = this + //消息通讯 是否显示授权用户信息按钮 + _.eventBus.on("customerstats", this, function(res){ + let url = '/pages/storeData/subData/index?from=customer&type=' + res.type + '&id=' + res.id + '&s_date=' + that.data.s_date + '&e_date=' + that.data.e_date + '¤t_date=' + that.data.current_date + + _.$router.openUrlScheme(url) + }) }, - //获取系统配置城市 - getAppCity(){ - _.apiQuery.getAppCity().then(res => { - this.setData({ - city_id:this.data.city_id?this.data.city_id:res.data.default, - }) - let cityArray = [] - res.data.list.forEach((item,index) => { - cityArray.push(item.name) - if(item.city_id==this.data.city_id){ - this.setData({ - cityIndex:index, - }) - } - }) - this.setData({ - cityArray:cityArray, - cityList:res.data.list, - }) - - this.getAppStatisticsStats_customer() - + //20240526 获取系统配置城市省市 + getAppArea(){ + _.apiQuery.getAppCityLists().then(res => { + let area_list = res.data.area_list + let area_id = res.data.default_area_id + let areaArr = [] + // let cur_index = [] + area_list.forEach((item,index) => { + if(item.province_id==area_id[0]){ + item.children.forEach((it,idx)=>{ + if(it.city_id==area_id[1]){ + // cur_index = [item.province_id,it.city_id] + this.setData({ + areaIndex: [index,idx] + }) + areaArr = [area_list,area_list[index].children] + return; + } + }) + } }); + + this.setData({ + area_id: area_id, + area_list: area_list, + areaArr: areaArr, + province_id:area_id[0], + city_id:area_id[1] + }) + this.getAppStatisticsStats_customer() + }); +}, + + //生命周期函数--监听页面卸载 + onUnload: function () { + //卸载消息通讯 是否显示授权用户信息 + _.eventBus.remove("customerstats",this); }, + //选择城市 + changeArea(e) { + this.setData({ + province_id:this.data.area_list[e.detail.value[0]]['province_id'], + city_id:this.data.area_list[e.detail.value[0]].children[e.detail.value[1]].city_id, + areaIndex: e.detail.value, + }) + this.getAppStatisticsStats_customer() + }, + +//20240526地区联动 +columnChangeArea(e){ + let multiData = this.data.area_list; + let multiIndex = this.data.areaIndex; + let columnIndex = e.detail.column; + let columnValue = e.detail.value; + + multiIndex[columnIndex] = columnValue; + + this.setData({ + areaArr: [ + multiData, + multiData[multiIndex[0]].children + ], + }) +}, //选择日期 @@ -192,6 +246,7 @@ Page({ let params = {}; params['type'] = this.data.type; + params['province_id'] = this.data.province_id; params['city_id'] = this.data.city_id; params['s_time'] = this.data.s_date; params['e_time'] = this.data.e_date; diff --git a/pages/dataAnalysis/detail/index.json b/pages/dataAnalysis/detail/index.json index bd827f7..71c5e29 100644 --- a/pages/dataAnalysis/detail/index.json +++ b/pages/dataAnalysis/detail/index.json @@ -1,5 +1,5 @@ { - "navigationBarTitleText": "订单数据", + "navigationBarTitleText": "数据看板", "navigationBarTextStyle": "white", "navigationBarBackgroundColor": "#ff7052", "backgroundColor": "#ffffff", diff --git a/pages/dataAnalysis/detail/index.wxml b/pages/dataAnalysis/detail/index.wxml index 6eeca59..cdb6122 100644 --- a/pages/dataAnalysis/detail/index.wxml +++ b/pages/dataAnalysis/detail/index.wxml @@ -1,9 +1,9 @@ - + - {{cityArray[cityIndex]}} + {{area_list[areaIndex[0]].name}}-{{area_list[areaIndex[0]].children[areaIndex[1]].name}} @@ -31,12 +31,13 @@ {{Pie1title}} - + {{pie1Bottom}} + 点击分类卡片查看具体数据 @@ -50,7 +51,8 @@ - {{pie2Bottom}} + + 点击分类卡片查看具体数据 diff --git a/pages/dataAnalysis/index.js b/pages/dataAnalysis/index.js index 33df7c1..d081483 100644 --- a/pages/dataAnalysis/index.js +++ b/pages/dataAnalysis/index.js @@ -57,36 +57,62 @@ Page({ current_date:res[1], }) - this.getAppCity() - + this.getAppArea() }) }, - //获取系统配置城市 - getAppCity(){ - _.apiQuery.getAppCity().then(res => { - let cityArray = [] - res.data.list.forEach((item,index) => { - cityArray.push(item.name) - if(item.city_id==res.data.default){ - this.setData({ - cityIndex:index, + //20240526 获取系统配置城市省市 + getAppArea(){ + _.apiQuery.getAppCityLists().then(res => { + let area_list = res.data.area_list + let area_id = res.data.default_area_id + let areaArr = [] + // let cur_index = [] + area_list.forEach((item,index) => { + if(item.province_id==area_id[0]){ + item.children.forEach((it,idx)=>{ + if(it.city_id==area_id[1]){ + // cur_index = [item.province_id,it.city_id] + this.setData({ + areaIndex: [index,idx] + }) + areaArr = [area_list,area_list[index].children] + return; + } }) } - }) + }); + this.setData({ - city_id:res.data.default, - cityArray:cityArray, - cityList:res.data.list, + area_id: area_id, + area_list: area_list, + areaArr: areaArr, + province_id:area_id[0], + city_id:area_id[1] }) - this.getAppStatisticsStats() this.getAppStatisticsStats_days() - }); }, + //20240526地区联动 + columnChangeArea(e){ + let multiData = this.data.area_list; + let multiIndex = this.data.areaIndex; + let columnIndex = e.detail.column; + let columnValue = e.detail.value; + + multiIndex[columnIndex] = columnValue; + + this.setData({ + areaArr: [ + multiData, + multiData[multiIndex[0]].children + ], + }) + }, + //选择日期 changeDate(e){ if(e.currentTarget.dataset.type=="s_date"){ @@ -157,6 +183,7 @@ Page({ }) let params = {}; + params['province_id'] = this.data.province_id; params['city_id'] = this.data.city_id; params['s_time'] = this.data.s_date; params['e_time'] = this.data.e_date; @@ -239,6 +266,7 @@ Page({ }) let params = {}; + params['province_id'] = this.data.province_id; params['city_id'] = this.data.city_id; params['days'] = this.data.daysIndex == 0?'7':'30'; _.apiQuery.getAppStatisticsStats_days(params).then(res => { @@ -282,9 +310,10 @@ Page({ wx.stopPullDownRefresh() }); - }, + + //选择天数 changeDays(e) { this.setData({ @@ -314,10 +343,11 @@ Page({ }, //选择城市 - changeCity(e) { + changeArea(e) { this.setData({ - city_id:this.data.cityList[e.detail.value].city_id, - cityIndex: e.detail.value + province_id:this.data.area_list[e.detail.value[0]]['province_id'], + city_id:this.data.area_list[e.detail.value[0]].children[e.detail.value[1]].city_id, + areaIndex: e.detail.value, }) this.getAppStatisticsStats() this.getAppStatisticsStats_days() diff --git a/pages/dataAnalysis/index.wxml b/pages/dataAnalysis/index.wxml index c9ef63d..011738d 100644 --- a/pages/dataAnalysis/index.wxml +++ b/pages/dataAnalysis/index.wxml @@ -1,9 +1,9 @@ - + - {{cityArray[cityIndex]}} + {{area_list[areaIndex[0]].name}}-{{area_list[areaIndex[0]].children[areaIndex[1]].name}} @@ -27,12 +27,12 @@ - + {{item.value_1}} - + {{item.title}} @@ -43,16 +43,6 @@ - - {{funneltitle}} - - @@ -89,9 +79,9 @@ - 发生在时间周期内的\n [客户建档] / [进店客户] - 发生在时间周期内的\n [企微添加好友] / [企微好友完善手机号码] - 发生在时间周期内的\n [下定订单] / [退款订单] + 发生在时间周期内的\n [客户建档] / [客户进店] + 发生在时间周期内的\n [微信添加] + 发生在时间周期内的\n [下定订单] diff --git a/pages/index/index.wxml b/pages/index/index.wxml index be0bf4e..5414ed8 100644 --- a/pages/index/index.wxml +++ b/pages/index/index.wxml @@ -15,7 +15,7 @@ - + {{pandianNum}} diff --git a/pages/storeData/customerData/index.js b/pages/storeData/customerData/index.js index 5eef6c2..8f559ff 100644 --- a/pages/storeData/customerData/index.js +++ b/pages/storeData/customerData/index.js @@ -184,7 +184,7 @@ Page({ this.setData({ Pie1title:res.data.pie1.title, - Pie2title:res.data.pie2.title, + //Pie2title:res.data.pie2.title, Bartitle:res.data.bar.title, }) @@ -264,79 +264,79 @@ Page({ } // Pie2ChartData = getPie2Option() - if(res.data.pie2.series_data_1.length==0){ - this.setData({ - pie2noData:true, - }) - }else{ - Pie2ChartData = { - tooltip: { - trigger: 'item', - formatter: '{b}: {c} ({d}%)' - }, - series: [ - { - name: 'Access From', - type: 'pie', - selectedMode: 'single', - radius: [0, '30%'], - label: { - position: 'inner', - fontSize: 10 - }, - labelBar: { - show: false - }, - data: [] - }, - { - name: 'Access From', - type: 'pie', - radius: ['45%', '65%'], - labelLine: { - fontSize:5, - length:10 - }, - label: { - formatter: '{b| {b} }{abg|}\n{hr|}\n{c| {c}({d}%) }', - backgroundColor: '#F6F8FC', - borderColor: '#8C8D8E', - borderWidth: 1, - borderRadius: 4, - rich: { - hr: { - borderColor: '#8C8D8E', - width: '100%', - borderWidth: 1, - height: 0 - }, - b: { - color: '#4C5058', - fontSize:10, - lineHeight:20, - align: 'center', - }, - c: { - color: '#4C5058', - fontSize:8, - lineHeight:20, - align: 'center', - }, - } - }, - data: [] - }, - ] - }; + // if(res.data.pie2.series_data_1.length==0){ + // this.setData({ + // pie2noData:true, + // }) + // }else{ + // Pie2ChartData = { + // tooltip: { + // trigger: 'item', + // formatter: '{b}: {c} ({d}%)' + // }, + // series: [ + // { + // name: 'Access From', + // type: 'pie', + // selectedMode: 'single', + // radius: [0, '30%'], + // label: { + // position: 'inner', + // fontSize: 10 + // }, + // labelBar: { + // show: false + // }, + // data: [] + // }, + // { + // name: 'Access From', + // type: 'pie', + // radius: ['45%', '65%'], + // labelLine: { + // fontSize:5, + // length:10 + // }, + // label: { + // formatter: '{b| {b} }{abg|}\n{hr|}\n{c| {c}({d}%) }', + // backgroundColor: '#F6F8FC', + // borderColor: '#8C8D8E', + // borderWidth: 1, + // borderRadius: 4, + // rich: { + // hr: { + // borderColor: '#8C8D8E', + // width: '100%', + // borderWidth: 1, + // height: 0 + // }, + // b: { + // color: '#4C5058', + // fontSize:10, + // lineHeight:20, + // align: 'center', + // }, + // c: { + // color: '#4C5058', + // fontSize:8, + // lineHeight:20, + // align: 'center', + // }, + // } + // }, + // data: [] + // }, + // ] + // }; - Pie2ChartData.series[0].data = res.data.pie2.series_data_1 - Pie2ChartData.series[1].data = res.data.pie2.series_data_2 - this.setData({ - pie2noData:false, - showPie2Chart:true, - ['ecPie2.onInit']:Pie2Chart, - }) - } + // Pie2ChartData.series[0].data = res.data.pie2.series_data_1 + // Pie2ChartData.series[1].data = res.data.pie2.series_data_2 + // this.setData({ + // pie2noData:false, + // showPie2Chart:true, + // ['ecPie2.onInit']:Pie2Chart, + // }) + // } //BarChartData = getBarOption() BarChartData = { diff --git a/pages/storeData/customerData/index.wxml b/pages/storeData/customerData/index.wxml index 31dd67c..76ca2fd 100644 --- a/pages/storeData/customerData/index.wxml +++ b/pages/storeData/customerData/index.wxml @@ -32,7 +32,7 @@ - + diff --git a/pages/storeData/index.wxml b/pages/storeData/index.wxml index cc6d825..6ef18d5 100644 --- a/pages/storeData/index.wxml +++ b/pages/storeData/index.wxml @@ -21,14 +21,10 @@ - - - {{item.value_1}} - {{item.value_2}} - - + + {{item.value_1}} - + {{item.title}} diff --git a/pages/storeData/subData/index.js b/pages/storeData/subData/index.js index e23d5cf..8708449 100644 --- a/pages/storeData/subData/index.js +++ b/pages/storeData/subData/index.js @@ -122,9 +122,9 @@ Page({ title: res.data.title }) - // this.setData({ - // Pie1title:res.data.title, - // }) + this.setData({ + Pie1title:res.data.title, + }) if(res.data.series_data.length==0){ this.setData({ pie1noData:true, diff --git a/pages/storeData/subData/index.wxml b/pages/storeData/subData/index.wxml index 9f5e5b5..7e922ef 100644 --- a/pages/storeData/subData/index.wxml +++ b/pages/storeData/subData/index.wxml @@ -23,8 +23,8 @@ {{Pie1title}} - - + + {{pie1Bottom}}