狸车宝
This commit is contained in:
@@ -56,6 +56,17 @@ api = {
|
||||
appFinance: "app/finance", //获取金融产品列表
|
||||
appFinanceNums: "app/finance/nums", //获取金融分期期数
|
||||
|
||||
appUserBizs: "app/user/bizs", //获取管理门店
|
||||
appStatisticsCust: "app/statistics/cust", //获取渠道客户统计
|
||||
appStatisticsOrders: "app/statistics/orders", //获取渠道订单统计
|
||||
appUserAdmins: "app/user/admins", //获取门店管理员
|
||||
appStatisticsScust: "app/statistics/scust", //数据分析-客户数据
|
||||
appStatisticsOcust: "app/statistics/ocust", //数据分析-订单数据
|
||||
appStatisticsHcust: "app/statistics/hcust", //首页-客户图标数据
|
||||
appStatisticsHorder: "app/statistics/horder", //首页-订单图表数据
|
||||
appUserResetbiz: "app/user/resetbiz", //更新用户店铺id
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ let apiQuery = Object.assign({});
|
||||
|
||||
apiQuery.asyncLogin = asyncLogin;
|
||||
|
||||
apiQuery.getUserInfo = function (params,isLoading=true) {
|
||||
apiQuery.getUserInfo = function (params,isLoading=false) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(isLoading, Config.api.appUser, 2, params, "GET", function (res) {
|
||||
app.setStorage("userInfo", res.data);
|
||||
@@ -369,4 +369,67 @@ apiQuery.getAppFinanceNums = function(params){
|
||||
})
|
||||
}
|
||||
|
||||
//获取管理门店
|
||||
apiQuery.getAppUserBizs = function(params){
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(true, Config.api.appUserBizs, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
//获取渠道客户统计
|
||||
apiQuery.getAppStatisticsCust = function(params){
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appStatisticsCust, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
//获取渠道订单统计
|
||||
apiQuery.getAppStatisticsOrders = function(params){
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appStatisticsOrders, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
//获取门店管理员
|
||||
apiQuery.getAppUserAdmins = function(params){
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appUserAdmins, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
//数据分析-客户数据
|
||||
apiQuery.getAppStatisticsScust = function(params){
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appStatisticsScust, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
//数据分析-订单数据
|
||||
apiQuery.getAppStatisticsOcust = function(params){
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appStatisticsOcust, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
//首页-客户图标数据
|
||||
apiQuery.getAppStatisticsHcust = function(params){
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appStatisticsHcust, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
//首页-订单图表数据
|
||||
apiQuery.getAppStatisticsHorder = function(params){
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appStatisticsHorder, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
//更新用户店铺id
|
||||
apiQuery.putAppUserResetbiz = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appUserResetbiz, 2, params, "PUT", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
export default apiQuery;
|
||||
@@ -18,7 +18,7 @@ Component({
|
||||
lifetimes: {
|
||||
//在组件实例进入页面节点树时执行
|
||||
attached: function () {
|
||||
if(app.getStorageByKey("userInfo").group_id==2){
|
||||
if(app.getStorageByKey("userInfo").group_id==4){
|
||||
this.setData({
|
||||
isAdmin:true,
|
||||
})
|
||||
|
||||
@@ -15,20 +15,20 @@ Component({
|
||||
list: [
|
||||
{
|
||||
"url": "/pages/channel/index",
|
||||
"iconPath": "https://qs.haodian.cn/wechat_app/lichebao/common/tab-home.png",
|
||||
"selectedIconPath": "https://qs.haodian.cn/wechat_app/lichebao/common/tab-home-ac.png",
|
||||
"icon": "tab-home",
|
||||
"activeIcon": "tab-home-ac",
|
||||
"title": "首页",
|
||||
},
|
||||
{
|
||||
"url": "/pages/dataAnalysis/index",
|
||||
"iconPath": "https://qs.haodian.cn/wechat_app/lichebao/common/tab-dataAnalysis.png",
|
||||
"selectedIconPath": "https://qs.haodian.cn/wechat_app/lichebao/common/tab-dataAnalysis-ac.png",
|
||||
"icon": "tab-dataAnalysis",
|
||||
"activeIcon": "tab-dataAnalysis-ac",
|
||||
"title": "数据分析",
|
||||
},
|
||||
{
|
||||
"url": "/pages/mine/index?source=channel",
|
||||
"iconPath": "https://qs.haodian.cn/wechat_app/lichebao/common/tab-mine.png",
|
||||
"selectedIconPath": "https://qs.haodian.cn/wechat_app/lichebao/common/tab-mine-ac.png",
|
||||
"icon": "tab-mine",
|
||||
"activeIcon": "tab-mine-ac",
|
||||
"title": "我的",
|
||||
},
|
||||
],
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<view class="safe-pb height-190"></view>
|
||||
<view class="fixed bottom-0 left-0 wp100 fn-flex bg-fff fn-flex-around safe-pb bg-fff bts-1-eb text-center z-index-4">
|
||||
<block wx:for="{{list}}" wx:key='index'>
|
||||
<view class="fn-flex-item pt10 pb10" bindtap="pushNavTab" data-url="{{item.url}}">
|
||||
<image class='img-60x60' lazy-load="{{true}}" mode="aspectFit" src="{{currentIndex == index?item.selectedIconPath:item.iconPath}}"></image>
|
||||
<view class="font-22 {{currentIndex == index?'color-1a':'color-999'}}">{{item.title}}</view>
|
||||
<view class="fn-flex-item pt5 pb10" bindtap="pushNavTab" data-url="{{item.url}}">
|
||||
<view class="inline-block img-60x60 icon-menu {{currentIndex == index?item.activeIcon:item.icon}}"></view>
|
||||
<view class="font-22 line-height-12 {{currentIndex == index?'color-1a':'color-999'}}">{{item.title}}</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
@@ -1,2 +1,9 @@
|
||||
@import "../../commons/css/common.wxss";
|
||||
.z-index-4{z-index:9999999999;}
|
||||
.z-index-4{z-index:9999999999;}
|
||||
.icon-menu{background:url("https://qs.haodian.cn/wechat_app/lichebao/common/icon-menu.png") no-repeat;background-size:750rpx auto;}
|
||||
.tab-home{background-position:0 5rpx;}
|
||||
.tab-home-ac{background-position:0 -55rpx;}
|
||||
.tab-dataAnalysis{background-position:-60rpx 5rpx;}
|
||||
.tab-dataAnalysis-ac{background-position:-60rpx -55rpx;}
|
||||
.tab-mine{background-position:-120rpx 5rpx;}
|
||||
.tab-mine-ac{background-position:-120rpx -55rpx;}
|
||||
@@ -1,4 +1,5 @@
|
||||
import Utils from '../../commons/js/utils/util'
|
||||
const app = getApp()
|
||||
Component({
|
||||
/**
|
||||
* 组件的属性列表
|
||||
@@ -88,9 +89,19 @@ Component({
|
||||
})
|
||||
},
|
||||
home: function () {
|
||||
wx.switchTab({
|
||||
url: '/pages/index/index'
|
||||
})
|
||||
// wx.switchTab({
|
||||
// url: '/pages/index/index'
|
||||
// })
|
||||
if(app.getStorageByKey("userInfo").group_id==4){
|
||||
wx.reLaunch({
|
||||
url: '/pages/channel/index'
|
||||
})
|
||||
}else{
|
||||
wx.reLaunch({
|
||||
url: '/pages/index/index'
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
})
|
||||
@@ -15,26 +15,26 @@ Component({
|
||||
list: [
|
||||
{
|
||||
"url": "/pages/index/index",
|
||||
"iconPath": "https://qs.haodian.cn/wechat_app/lichebao/common/tab-home.png",
|
||||
"selectedIconPath": "https://qs.haodian.cn/wechat_app/lichebao/common/tab-home-ac.png",
|
||||
"icon": "tab-home",
|
||||
"activeIcon": "tab-home-ac",
|
||||
"title": "首页",
|
||||
},
|
||||
{
|
||||
"url": "/pages/customer/index",
|
||||
"iconPath": "https://qs.haodian.cn/wechat_app/lichebao/common/tab-customer.png",
|
||||
"selectedIconPath": "https://qs.haodian.cn/wechat_app/lichebao/common/tab-customer-ac.png",
|
||||
"icon": "tab-customer",
|
||||
"activeIcon": "tab-customer-ac",
|
||||
"title": "客户",
|
||||
},
|
||||
{
|
||||
"url": "/pages/order/index",
|
||||
"iconPath": "https://qs.haodian.cn/wechat_app/lichebao/common/tab-order.png",
|
||||
"selectedIconPath": "https://qs.haodian.cn/wechat_app/lichebao/common/tab-order-ac.png",
|
||||
"icon": "tab-order",
|
||||
"activeIcon": "tab-order-ac",
|
||||
"title": "订单",
|
||||
},
|
||||
{
|
||||
"url": "/pages/mine/index?source=shop",
|
||||
"iconPath": "https://qs.haodian.cn/wechat_app/lichebao/common/tab-mine.png",
|
||||
"selectedIconPath": "https://qs.haodian.cn/wechat_app/lichebao/common/tab-mine-ac.png",
|
||||
"icon": "tab-mine",
|
||||
"activeIcon": "tab-mine-ac",
|
||||
"title": "我的",
|
||||
},
|
||||
],
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<view class="safe-pb height-190"></view>
|
||||
<view class="fixed bottom-0 left-0 wp100 fn-flex bg-fff fn-flex-around safe-pb bg-fff bts-1-eb text-center z-index-4">
|
||||
<block wx:for="{{list}}" wx:key='index'>
|
||||
<view class="fn-flex-item pt10 pb10" bindtap="pushNavTab" data-url="{{item.url}}">
|
||||
<image class='img-60x60' lazy-load="{{true}}" mode="aspectFit" src="{{currentIndex == index?item.selectedIconPath:item.iconPath}}"></image>
|
||||
<view class="font-22 {{currentIndex == index?'color-1a':'color-999'}}">{{item.title}}</view>
|
||||
<view class="fn-flex-item pt5 pb10" bindtap="pushNavTab" data-url="{{item.url}}">
|
||||
<view class="inline-block img-60x60 icon-menu {{currentIndex == index?item.activeIcon:item.icon}}"></view>
|
||||
<view class="font-22 line-height-12 {{currentIndex == index?'color-1a':'color-999'}}">{{item.title}}</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
@@ -1,2 +1,11 @@
|
||||
@import "../../commons/css/common.wxss";
|
||||
.z-index-4{z-index:9999999999;}
|
||||
.z-index-4{z-index:9999999999;}
|
||||
.icon-menu{background:url("https://qs.haodian.cn/wechat_app/lichebao/common/icon-menu.png") no-repeat;background-size:750rpx auto;}
|
||||
.tab-home{background-position:0 5rpx;}
|
||||
.tab-home-ac{background-position:0 -55rpx;}
|
||||
.tab-mine{background-position:-120rpx 5rpx;}
|
||||
.tab-mine-ac{background-position:-120rpx -55rpx;}
|
||||
.tab-customer{background-position:-180rpx 5rpx;}
|
||||
.tab-customer-ac{background-position:-180rpx -55rpx;}
|
||||
.tab-order{background-position:-240rpx 5rpx;}
|
||||
.tab-order-ac{background-position:-240rpx -55rpx;}
|
||||
+100
-78
@@ -1,53 +1,42 @@
|
||||
import _ from '../../commons/js/commons'
|
||||
import * as echarts from '../../ecCanvas/components/ec-canvas/echarts';
|
||||
const app = getApp()
|
||||
|
||||
let barChartData;
|
||||
let lineChartData;
|
||||
function barChart(canvas, width, height, dpr) {
|
||||
const chart = echarts.init(canvas, null, {
|
||||
width: width,
|
||||
height: height,
|
||||
devicePixelRatio: dpr // new
|
||||
});
|
||||
canvas.setChart(chart);
|
||||
let option = barChartData
|
||||
chart.setOption(option);
|
||||
return chart;
|
||||
}
|
||||
function lineChart(canvas, width, height, dpr) {
|
||||
const chart = echarts.init(canvas, null, {
|
||||
width: width,
|
||||
height: height,
|
||||
devicePixelRatio: dpr // new
|
||||
});
|
||||
canvas.setChart(chart);
|
||||
let option = lineChartData
|
||||
chart.setOption(option);
|
||||
return chart;
|
||||
}
|
||||
|
||||
Page({
|
||||
data: {
|
||||
imgUrl:_.config.imgUrl,
|
||||
|
||||
shoplist:[
|
||||
{
|
||||
id:'1',
|
||||
title:'泉州鲤城区4s店',
|
||||
tag:[
|
||||
'东风EX·1',
|
||||
'雷丁',
|
||||
],
|
||||
},
|
||||
{
|
||||
id:'1',
|
||||
title:'泉州鲤城区4s店',
|
||||
tag:[
|
||||
'东风EX·1',
|
||||
'雷丁',
|
||||
],
|
||||
},
|
||||
],
|
||||
|
||||
shoplist:[],//管理门店
|
||||
showBarChart:false,//是否显示Bar图表
|
||||
ecBar:{},
|
||||
showLineChart:false,//是否显示Line图表
|
||||
ecLine:{},
|
||||
deallist:'',
|
||||
hoursTip:'',
|
||||
|
||||
quarterarray: ['第一季度', '第二季度', '第三季度','第四季度', ],
|
||||
quarterobj: [
|
||||
{
|
||||
id: 0,
|
||||
name: '第一季度'
|
||||
},
|
||||
{
|
||||
id: 1,
|
||||
name: '第二季度'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: '第三季度'
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
name: '第四季度'
|
||||
},
|
||||
],
|
||||
quarterIndex: 0,
|
||||
|
||||
},
|
||||
|
||||
onLoad(options) {
|
||||
@@ -58,17 +47,16 @@ Page({
|
||||
}
|
||||
|
||||
this.getUserInfo()
|
||||
|
||||
this.getAppUserBizs()
|
||||
|
||||
this.getBar()
|
||||
this.getLine()
|
||||
this.getAppStatisticsCust()
|
||||
this.getAppStatisticsOrders()
|
||||
},
|
||||
|
||||
onShow: function () {
|
||||
this.getHoursTip()
|
||||
},
|
||||
|
||||
|
||||
//候取时间
|
||||
getHoursTip(){
|
||||
let hoursTip = '';
|
||||
@@ -95,44 +83,76 @@ Page({
|
||||
});
|
||||
},
|
||||
|
||||
//选择季度
|
||||
changeQuarter(e) {
|
||||
//获取管理门店
|
||||
getAppUserBizs(){
|
||||
_.apiQuery.getAppUserBizs().then(res => {
|
||||
this.setData({
|
||||
shoplist: res.data.list,
|
||||
})
|
||||
});
|
||||
},
|
||||
|
||||
//客户选择季度
|
||||
changeCust(e) {
|
||||
this.setData({
|
||||
quarterIndex: e.detail.value
|
||||
custSeasonKey: e.detail.value
|
||||
})
|
||||
this.getAppStatisticsCust()
|
||||
},
|
||||
|
||||
//订单选择季度
|
||||
changeOrder(e) {
|
||||
this.setData({
|
||||
orderSeasonKey: e.detail.value
|
||||
})
|
||||
this.getAppStatisticsOrders()
|
||||
},
|
||||
|
||||
//获取渠道客户统计
|
||||
getAppStatisticsCust(){
|
||||
this.setData({
|
||||
showBarChart:false,
|
||||
})
|
||||
let params = {};
|
||||
if(this.data.custSeasonKey){
|
||||
params['season'] = this.data.custSeasonKey;
|
||||
}
|
||||
_.apiQuery.getAppStatisticsCust(params).then(res => {
|
||||
|
||||
barChartData = res.data.stat_data
|
||||
this.setData({
|
||||
custSeasonKey:this.data.custSeasonKey?this.data.custSeasonKey:res.data.season,
|
||||
custSeason:this.data.custSeason?this.data.custSeason:res.data.season_data,
|
||||
showBarChart:true,
|
||||
['ecBar.onInit']:barChart,
|
||||
})
|
||||
|
||||
wx.stopPullDownRefresh()
|
||||
|
||||
})
|
||||
},
|
||||
|
||||
getBar(){
|
||||
//获取渠道订单统计
|
||||
getAppStatisticsOrders(){
|
||||
this.setData({
|
||||
ecBar: {
|
||||
onInit: function (canvas, width, height, dpr) {
|
||||
const barChart = echarts.init(canvas, null, {
|
||||
width: width,
|
||||
height: height,
|
||||
devicePixelRatio: dpr // new
|
||||
});
|
||||
canvas.setChart(barChart);
|
||||
barChart.setOption(getBarOption());
|
||||
return barChart;
|
||||
}
|
||||
},
|
||||
showLineChart:false,
|
||||
})
|
||||
},
|
||||
let params = {};
|
||||
if(this.data.orderSeasonKey){
|
||||
params['season'] = this.data.orderSeasonKey;
|
||||
}
|
||||
_.apiQuery.getAppStatisticsOrders(params).then(res => {
|
||||
|
||||
lineChartData = res.data.stat_data
|
||||
this.setData({
|
||||
orderSeasonKey:this.data.orderSeasonKey?this.data.orderSeasonKey:res.data.season,
|
||||
orderSeason:this.data.orderSeason?this.data.orderSeason:res.data.season_data,
|
||||
showLineChart:true,
|
||||
['ecLine.onInit']:lineChart,
|
||||
})
|
||||
|
||||
wx.stopPullDownRefresh()
|
||||
|
||||
getLine(){
|
||||
this.setData({
|
||||
ecLine: {
|
||||
onInit: function (canvas, width, height, dpr) {
|
||||
const lineChart = echarts.init(canvas, null, {
|
||||
width: width,
|
||||
height: height,
|
||||
devicePixelRatio: dpr // new
|
||||
});
|
||||
canvas.setChart(lineChart);
|
||||
lineChart.setOption(getLineOption());
|
||||
return lineChart;
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
@@ -153,7 +173,9 @@ Page({
|
||||
|
||||
//页面相关事件处理函数--监听用户下拉动作
|
||||
onPullDownRefresh: function () {
|
||||
|
||||
this.getAppUserBizs()
|
||||
this.getAppStatisticsCust()
|
||||
this.getAppStatisticsOrders()
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
+11
-11
@@ -13,15 +13,15 @@
|
||||
</view>
|
||||
</view>
|
||||
<!-- 管辖门店 -->
|
||||
<view class="mt40 inner30 pt40 bg-fff box-shadow-000-10-10 ulib-r10">
|
||||
<view class="mt40 inner30 pt40 bg-fff box-shadow-000-10-10 ulib-r10" wx:if="{{shoplist.length>0}}">
|
||||
<view class="font-36">管辖门店</view>
|
||||
<view>
|
||||
<block wx:for="{{shoplist}}" wx:key='index'>
|
||||
<view class="mt20 inner30 bg-2e3246-8058fe ulib-r10" bindtap="pushLink" data-url="/pages/index/index?id={{item.id}}">
|
||||
<view class="relative pr40 font-32 color-fff">{{item.title}}<i class="absolute right-0 box-middle iconfont icon-gengduo text-middle font-26"></i></view>
|
||||
<view class="mt20 inner30 bg-2e3246-8058fe ulib-r10" bindtap="pushLink" data-url="/pages/index/index?biz_id={{item.id}}">
|
||||
<view class="relative pr40 font-32 color-fff">{{item.name}}<i class="absolute right-0 box-middle iconfont icon-gengduo text-middle font-26"></i></view>
|
||||
<view class="font-22">
|
||||
<block wx:for="{{item.tag}}" wx:for-item="tag" wx:key='index'>
|
||||
<text class="inline-block mt10 mr10 pl20 pr20 bg-fff ulib-r750">{{tag}}</text>
|
||||
<block wx:for="{{item.auto_brands}}" wx:for-item="auto_brands" wx:key='index'>
|
||||
<text class="inline-block mt10 mr10 pl20 pr20 bg-fff ulib-r750">{{auto_brands}}</text>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
@@ -32,15 +32,15 @@
|
||||
<view class="mt40 inner30 pt40 bg-fff box-shadow-000-10-10 ulib-r10">
|
||||
<view class="relative">
|
||||
<view class="font-36">数据分析·客户</view>
|
||||
<picker class="absolute right-0 box-middle" bindchange="changeQuarter" value="{{quarterIndex}}" range="{{quarterarray}}">
|
||||
<picker class="absolute right-0 box-middle" bindchange="changeCust" value="{{custSeasonKey}}" range="{{custSeason}}">
|
||||
<view class="pt10 pb10 pl20 pr20 bg-f6 ulib-r10 font-22">
|
||||
<text>{{quarterarray[quarterIndex]}}</text>
|
||||
<text>{{custSeason[custSeasonKey]}}</text>
|
||||
<i class="iconfont ml20 icon-xiala color-999"></i>
|
||||
</view>
|
||||
</picker>
|
||||
</view>
|
||||
<view class="relative height-600 z-index-0">
|
||||
<view class="absolute wp100 height-600">
|
||||
<view class="absolute wp100 height-600" wx:if="{{showBarChart}}">
|
||||
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecBar }}"></ec-canvas>
|
||||
</view>
|
||||
</view>
|
||||
@@ -49,15 +49,15 @@
|
||||
<view class="mt40 inner30 pt40 bg-fff box-shadow-000-10-10 ulib-r10">
|
||||
<view class="relative">
|
||||
<view class="font-36">数据分析·订单</view>
|
||||
<picker class="absolute right-0 box-middle" bindchange="changeQuarter" value="{{quarterIndex}}" range="{{quarterarray}}">
|
||||
<picker class="absolute right-0 box-middle" bindchange="changeOrder" value="{{orderSeasonKey}}" range="{{orderSeason}}">
|
||||
<view class="pt10 pb10 pl20 pr20 bg-f6 ulib-r10 font-22">
|
||||
<text>{{quarterarray[quarterIndex]}}</text>
|
||||
<text>{{orderSeason[orderSeasonKey]}}</text>
|
||||
<i class="iconfont ml20 icon-xiala color-999"></i>
|
||||
</view>
|
||||
</picker>
|
||||
</view>
|
||||
<view class="relative height-600 z-index-0">
|
||||
<view class="absolute wp100 height-600">
|
||||
<view class="absolute wp100 height-600" wx:if="{{showLineChart}}">
|
||||
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecLine }}"></ec-canvas>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -94,4 +94,5 @@
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<lcb-footer></lcb-footer>
|
||||
<lcb-footer></lcb-footer>
|
||||
<lcb-backChannel></lcb-backChannel>
|
||||
@@ -25,6 +25,7 @@
|
||||
|
||||
</view>
|
||||
<lcb-footer></lcb-footer>
|
||||
<lcb-backChannel></lcb-backChannel>
|
||||
|
||||
<lcb-msg isShow="{{isShowEmployees}}">
|
||||
<view slot="content">
|
||||
|
||||
@@ -197,6 +197,7 @@
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<lcb-backChannel></lcb-backChannel>
|
||||
|
||||
<lcb-msg isShow="{{isShowMessage}}">
|
||||
<view slot="content">
|
||||
|
||||
@@ -84,4 +84,5 @@
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<lcb-footer></lcb-footer>
|
||||
<lcb-footer></lcb-footer>
|
||||
<lcb-backChannel></lcb-backChannel>
|
||||
@@ -42,6 +42,7 @@
|
||||
|
||||
</view>
|
||||
<lcb-footer></lcb-footer>
|
||||
<lcb-backChannel></lcb-backChannel>
|
||||
|
||||
<lcb-msg isShow="{{isShowMessage}}">
|
||||
<view slot="content">
|
||||
|
||||
+154
-138
@@ -2,44 +2,45 @@ import _ from '../../commons/js/commons'
|
||||
import popularData from '../../commons/js/lib/popularData';
|
||||
import * as echarts from '../../ecCanvas/components/ec-canvas/echarts';
|
||||
const app = getApp()
|
||||
|
||||
let barChartData;
|
||||
let lineChartData;
|
||||
function barChart(canvas, width, height, dpr) {
|
||||
const chart = echarts.init(canvas, null, {
|
||||
width: width,
|
||||
height: height,
|
||||
devicePixelRatio: dpr // new
|
||||
});
|
||||
canvas.setChart(chart);
|
||||
let option = barChartData
|
||||
chart.setOption(option);
|
||||
return chart;
|
||||
}
|
||||
function lineChart(canvas, width, height, dpr) {
|
||||
const chart = echarts.init(canvas, null, {
|
||||
width: width,
|
||||
height: height,
|
||||
devicePixelRatio: dpr // new
|
||||
});
|
||||
canvas.setChart(chart);
|
||||
let option = lineChartData
|
||||
chart.setOption(option);
|
||||
return chart;
|
||||
}
|
||||
|
||||
Page({
|
||||
data: {
|
||||
imgUrl:_.config.imgUrl,
|
||||
|
||||
storearray: ['厦门店', '泉州店', '福州店', ],
|
||||
storeobj: [
|
||||
{
|
||||
id: 0,
|
||||
name: '厦门店'
|
||||
},
|
||||
{
|
||||
id: 1,
|
||||
name: '泉州店'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: '福州店'
|
||||
},
|
||||
],
|
||||
showBarChart:false,//是否显示Bar图表
|
||||
ecBar:{},
|
||||
showLineChart:false,//是否显示Line图表
|
||||
ecLine:{},
|
||||
storeArray: [],
|
||||
storeobj: [],
|
||||
storeIndex:0,
|
||||
|
||||
staffarray: ['张三', '李四', '王五', ],
|
||||
staffobj: [
|
||||
{
|
||||
id: 0,
|
||||
name: '张三'
|
||||
},
|
||||
{
|
||||
id: 1,
|
||||
name: '李四'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: '王五'
|
||||
},
|
||||
],
|
||||
staffArray: [],
|
||||
staffobj: [],
|
||||
staffIndex:-1,
|
||||
|
||||
tabId:'1',
|
||||
tab:[
|
||||
{
|
||||
@@ -51,72 +52,8 @@ Page({
|
||||
title: '订单数据'
|
||||
},
|
||||
],
|
||||
|
||||
custom:[
|
||||
{
|
||||
title:'订单客户',
|
||||
value:'12.23w',
|
||||
icon:'icon-statistics-custom-1',
|
||||
},
|
||||
{
|
||||
title:'到店客户',
|
||||
value:'15',
|
||||
icon:'icon-statistics-custom-2',
|
||||
},
|
||||
{
|
||||
title:'未见客户',
|
||||
value:'12.2',
|
||||
icon:'icon-statistics-custom-3',
|
||||
},
|
||||
{
|
||||
title:'未联潜客',
|
||||
value:'12.23',
|
||||
icon:'icon-statistics-custom-4',
|
||||
},
|
||||
{
|
||||
title:'战败客户',
|
||||
value:'9996',
|
||||
icon:'icon-statistics-custom-5',
|
||||
},
|
||||
],
|
||||
order:[
|
||||
{
|
||||
title:'合同签订',
|
||||
value:'12.23w',
|
||||
icon:'icon-statistics-order-1',
|
||||
},
|
||||
{
|
||||
title:'分期办理',
|
||||
value:'12.23w',
|
||||
icon:'icon-statistics-order-1',
|
||||
},
|
||||
{
|
||||
title:'车辆确认',
|
||||
value:'12.23w',
|
||||
icon:'icon-statistics-order-1',
|
||||
},
|
||||
{
|
||||
title:'申请开票',
|
||||
value:'12.23w',
|
||||
icon:'icon-statistics-order-1',
|
||||
},
|
||||
{
|
||||
title:'待办服务',
|
||||
value:'12.23w',
|
||||
icon:'icon-statistics-order-1',
|
||||
},
|
||||
{
|
||||
title:'交付确认',
|
||||
value:'12.23w',
|
||||
icon:'icon-statistics-order-1',
|
||||
},
|
||||
{
|
||||
title:'交付完成',
|
||||
value:'12.23w',
|
||||
icon:'icon-statistics-order-1',
|
||||
},
|
||||
],
|
||||
|
||||
custom:[],//客户数据
|
||||
order:[],//订单数据
|
||||
},
|
||||
|
||||
onLoad(options) {
|
||||
@@ -130,20 +67,119 @@ Page({
|
||||
dateTime:res[0],
|
||||
})
|
||||
})
|
||||
|
||||
this.getAppUserBizs()
|
||||
|
||||
this.getBar()
|
||||
this.getLine()
|
||||
},
|
||||
|
||||
onShow: function () {
|
||||
|
||||
},
|
||||
|
||||
//获取管理门店
|
||||
getAppUserBizs(){
|
||||
_.apiQuery.getAppUserBizs().then(res => {
|
||||
let storeArray = []
|
||||
res.data.list.forEach(item => {
|
||||
storeArray.push(item.name)
|
||||
})
|
||||
this.setData({
|
||||
storeArray:storeArray,
|
||||
storeobj:res.data.list,
|
||||
storeIndex:0,
|
||||
staffIndex:-1,
|
||||
})
|
||||
|
||||
this.getAppUserAdmins()
|
||||
if(this.data.tabId==1){
|
||||
this.getAppStatisticsScust()
|
||||
}else if(this.data.tabId==2){
|
||||
this.getAppStatisticsOcust()
|
||||
}
|
||||
|
||||
});
|
||||
},
|
||||
|
||||
//获取管理门店
|
||||
getAppUserAdmins(){
|
||||
let params = {};
|
||||
params['biz_id'] = this.data.storeobj[this.data.storeIndex].id;
|
||||
params['page'] = 1;
|
||||
params['size'] = 1000;
|
||||
_.apiQuery.getAppUserAdmins(params).then(res => {
|
||||
let staffArray = []
|
||||
res.data.list.forEach(item => {
|
||||
staffArray.push(item.uname)
|
||||
})
|
||||
this.setData({
|
||||
staffArray:staffArray,
|
||||
staffobj: res.data.list,
|
||||
})
|
||||
});
|
||||
},
|
||||
|
||||
//数据分析-客户数据
|
||||
getAppStatisticsScust(){
|
||||
this.setData({
|
||||
ecBar:{},
|
||||
showBarChart:false,
|
||||
})
|
||||
let params = {};
|
||||
params['biz_id'] = this.data.storeobj[this.data.storeIndex].id;
|
||||
params['day'] = this.data.dateTime;
|
||||
if(this.data.staffIndex>-1){
|
||||
params['admin_id'] = this.data.staffobj[this.data.staffIndex].id;
|
||||
}
|
||||
_.apiQuery.getAppStatisticsScust(params).then(res => {
|
||||
|
||||
barChartData = res.data.stat_data
|
||||
this.setData({
|
||||
custom:res.data.custom,
|
||||
showBarChart:true,
|
||||
['ecBar.onInit']:barChart,
|
||||
})
|
||||
|
||||
wx.stopPullDownRefresh()
|
||||
|
||||
});
|
||||
},
|
||||
|
||||
//数据分析-订单数据
|
||||
getAppStatisticsOcust(){
|
||||
this.setData({
|
||||
ecLine:{},
|
||||
showLineChart:false,
|
||||
})
|
||||
let params = {};
|
||||
params['biz_id'] = this.data.storeobj[this.data.storeIndex].id;
|
||||
params['day'] = this.data.dateTime;
|
||||
if(this.data.staffIndex>-1){
|
||||
params['admin_id'] = this.data.staffobj[this.data.staffIndex].id;
|
||||
}
|
||||
_.apiQuery.getAppStatisticsOcust(params).then(res => {
|
||||
|
||||
lineChartData = res.data.stat_data
|
||||
this.setData({
|
||||
order:res.data.custom,
|
||||
showLineChart:true,
|
||||
['ecLine.onInit']:lineChart,
|
||||
})
|
||||
|
||||
wx.stopPullDownRefresh()
|
||||
|
||||
});
|
||||
},
|
||||
|
||||
//选择门店
|
||||
changeStore(e) {
|
||||
this.setData({
|
||||
storeIndex: e.detail.value
|
||||
})
|
||||
if(this.data.tabId==1){
|
||||
this.getAppStatisticsScust()
|
||||
}else if(this.data.tabId==2){
|
||||
this.getAppStatisticsOcust()
|
||||
}
|
||||
},
|
||||
|
||||
//日期选择
|
||||
@@ -151,6 +187,11 @@ Page({
|
||||
this.setData({
|
||||
dateTime: e.detail.value,
|
||||
})
|
||||
if(this.data.tabId==1){
|
||||
this.getAppStatisticsScust()
|
||||
}else if(this.data.tabId==2){
|
||||
this.getAppStatisticsOcust()
|
||||
}
|
||||
},
|
||||
|
||||
//选择人员
|
||||
@@ -158,6 +199,11 @@ Page({
|
||||
this.setData({
|
||||
staffIndex: e.detail.value
|
||||
})
|
||||
if(this.data.tabId==1){
|
||||
this.getAppStatisticsScust()
|
||||
}else if(this.data.tabId==2){
|
||||
this.getAppStatisticsOcust()
|
||||
}
|
||||
},
|
||||
|
||||
//切换tab
|
||||
@@ -165,41 +211,11 @@ Page({
|
||||
this.setData({
|
||||
tabId:e.currentTarget.dataset.id,
|
||||
})
|
||||
//this.searchSubmit()
|
||||
},
|
||||
|
||||
getBar(){
|
||||
this.setData({
|
||||
ecBar: {
|
||||
onInit: function (canvas, width, height, dpr) {
|
||||
const barChart = echarts.init(canvas, null, {
|
||||
width: width,
|
||||
height: height,
|
||||
devicePixelRatio: dpr // new
|
||||
});
|
||||
canvas.setChart(barChart);
|
||||
barChart.setOption(getBarOption());
|
||||
return barChart;
|
||||
}
|
||||
},
|
||||
})
|
||||
},
|
||||
|
||||
getLine(){
|
||||
this.setData({
|
||||
ecLine: {
|
||||
onInit: function (canvas, width, height, dpr) {
|
||||
const lineChart = echarts.init(canvas, null, {
|
||||
width: width,
|
||||
height: height,
|
||||
devicePixelRatio: dpr // new
|
||||
});
|
||||
canvas.setChart(lineChart);
|
||||
lineChart.setOption(getLineOption());
|
||||
return lineChart;
|
||||
}
|
||||
}
|
||||
})
|
||||
if(this.data.tabId==1){
|
||||
this.getAppStatisticsScust()
|
||||
}else if(this.data.tabId==2){
|
||||
this.getAppStatisticsOcust()
|
||||
}
|
||||
},
|
||||
|
||||
//推送链接
|
||||
@@ -211,7 +227,7 @@ Page({
|
||||
|
||||
//页面相关事件处理函数--监听用户下拉动作
|
||||
onPullDownRefresh: function () {
|
||||
|
||||
this.getAppUserBizs()
|
||||
},
|
||||
|
||||
})
|
||||
@@ -274,7 +290,7 @@ function getLineOption() {
|
||||
data: ['1月', '2月', '3月',]
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value'
|
||||
type: 'value'
|
||||
},
|
||||
series: [{
|
||||
data: [20, 932, 901,],
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
<view class="inner30 pt40 bg-fff box-shadow-000-10-10 ulib-r10">
|
||||
<view class="bg-f6 pt25 pb25 pl30 pr30 font-32 fn-clear ulib-r10">
|
||||
<view class="fn-fl">门店</view>
|
||||
<picker class="fn-fr" bindchange="changeStore" value="{{storeIndex}}" range="{{storearray}}">
|
||||
<picker class="fn-fr" bindchange="changeStore" value="{{storeIndex}}" range="{{storeArray}}">
|
||||
<view class="color-666">
|
||||
<text>{{storearray[storeIndex]}}</text>
|
||||
<text>{{storeArray[storeIndex]}}</text>
|
||||
<i class="iconfont ml10 icon-gengduo font-26 color-999"></i>
|
||||
</view>
|
||||
</picker>
|
||||
@@ -23,10 +23,10 @@
|
||||
</view>
|
||||
<view class="mt20 bg-f6 pt25 pb25 pl30 pr30 font-32 fn-clear ulib-r10">
|
||||
<view class="fn-fl">人员选择</view>
|
||||
<picker class="fn-fr" bindchange="changeStaff" value="{{staffIndex}}" range="{{staffarray}}">
|
||||
<picker class="fn-fr" bindchange="changeStaff" value="{{staffIndex}}" range="{{staffArray}}">
|
||||
<view class="color-666">
|
||||
<text wx:if="{{staffIndex == -1}}">全部</text>
|
||||
<text wx:else>{{staffarray[staffIndex]}}</text>
|
||||
<text wx:else>{{staffArray[staffIndex]}}</text>
|
||||
<i class="iconfont ml10 icon-gengduo font-26 color-999"></i>
|
||||
</view>
|
||||
</picker>
|
||||
@@ -55,7 +55,7 @@
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="mt30 mr30 inner30 bg-f6 ulib-r10">
|
||||
<view class="mt30 mr30 inner30 bg-f6 ulib-r10" wx:if="{{1==0}}">
|
||||
<view class="font-32 text-bold">通话数据</view>
|
||||
<view class="mt10 fn-flex text-center">
|
||||
<view class="fn-flex-item">
|
||||
@@ -95,7 +95,7 @@
|
||||
<view class="font-36">数据分析·客户</view>
|
||||
</view>
|
||||
<view class="relative height-400 z-index-0">
|
||||
<view class="absolute wp100 height-400">
|
||||
<view class="absolute wp100 height-400" wx:if="{{showBarChart}}">
|
||||
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecBar }}"></ec-canvas>
|
||||
</view>
|
||||
</view>
|
||||
@@ -106,7 +106,7 @@
|
||||
<view class="font-36">数据分析·订单</view>
|
||||
</view>
|
||||
<view class="relative height-400 z-index-0">
|
||||
<view class="absolute wp100 height-400">
|
||||
<view class="absolute wp100 height-400" wx:if="{{showLineChart}}">
|
||||
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecLine }}"></ec-canvas>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -65,4 +65,5 @@
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<lcb-footer></lcb-footer>
|
||||
<lcb-footer></lcb-footer>
|
||||
<lcb-backChannel></lcb-backChannel>
|
||||
@@ -26,6 +26,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<lcb-footer></lcb-footer>
|
||||
<lcb-backChannel></lcb-backChannel>
|
||||
|
||||
<lcb-msg isShow="{{isShowSuccess}}" isBottomOpt="{{true}}" closeWord="我知道了" bind:closeevent="closeSuccess">
|
||||
<view slot="content" class="inner40">
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
|
||||
</view>
|
||||
<lcb-footer></lcb-footer>
|
||||
<lcb-backChannel></lcb-backChannel>
|
||||
|
||||
<lcb-msg isShow="{{isShowKefu}}" button="false" isHasClose="down">
|
||||
<view slot="content">
|
||||
|
||||
@@ -33,4 +33,5 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<lcb-footer></lcb-footer>
|
||||
<lcb-footer></lcb-footer>
|
||||
<lcb-backChannel></lcb-backChannel>
|
||||
@@ -65,4 +65,5 @@
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<lcb-footer></lcb-footer>
|
||||
<lcb-footer></lcb-footer>
|
||||
<lcb-backChannel></lcb-backChannel>
|
||||
+94
-31
@@ -1,12 +1,42 @@
|
||||
import _ from '../../commons/js/commons'
|
||||
import * as echarts from '../../ecCanvas/components/ec-canvas/echarts';
|
||||
const app = getApp()
|
||||
|
||||
let barChartData;
|
||||
let pieChartData;
|
||||
function barChart(canvas, width, height, dpr) {
|
||||
const chart = echarts.init(canvas, null, {
|
||||
width: width,
|
||||
height: height,
|
||||
devicePixelRatio: dpr // new
|
||||
});
|
||||
canvas.setChart(chart);
|
||||
let option = barChartData
|
||||
chart.setOption(option);
|
||||
return chart;
|
||||
}
|
||||
function pieChart(canvas, width, height, dpr) {
|
||||
const chart = echarts.init(canvas, null, {
|
||||
width: width,
|
||||
height: height,
|
||||
devicePixelRatio: dpr // new
|
||||
});
|
||||
canvas.setChart(chart);
|
||||
let option = pieChartData
|
||||
chart.setOption(option);
|
||||
return chart;
|
||||
}
|
||||
|
||||
Page({
|
||||
data: {
|
||||
imgUrl:_.config.imgUrl,
|
||||
userCal:'',
|
||||
deallist:'',
|
||||
hoursTip:'',
|
||||
showBarChart:false,//是否显示Bar图表
|
||||
ecBar:{},
|
||||
showPieChart:false,//是否显示Pie图表
|
||||
ecPie:{},
|
||||
},
|
||||
|
||||
onLoad(options) {
|
||||
@@ -15,11 +45,15 @@ Page({
|
||||
[key]: options[key]
|
||||
})
|
||||
}
|
||||
|
||||
if(this.data.biz_id){
|
||||
this.putAppUserResetbiz()
|
||||
}
|
||||
|
||||
this.getUserInfo()
|
||||
|
||||
this.getPie()
|
||||
this.getBar()
|
||||
this.getAppStatisticsHcust()
|
||||
this.getAppStatisticsHorder()
|
||||
|
||||
},
|
||||
|
||||
onShow: function () {
|
||||
@@ -27,7 +61,6 @@ Page({
|
||||
this.getHoursTip()
|
||||
},
|
||||
|
||||
|
||||
//候取时间
|
||||
getHoursTip(){
|
||||
let hoursTip = '';
|
||||
@@ -44,6 +77,14 @@ Page({
|
||||
})
|
||||
},
|
||||
|
||||
//更新用户店铺id
|
||||
putAppUserResetbiz(){
|
||||
let params = {};
|
||||
params['biz_id'] = this.data.biz_id;
|
||||
_.apiQuery.putAppUserResetbiz(params).then(res => {
|
||||
this.getAppUserCal()
|
||||
});
|
||||
},
|
||||
|
||||
//获取用户信息
|
||||
getUserInfo(){
|
||||
@@ -56,7 +97,11 @@ Page({
|
||||
|
||||
//获取用户统计
|
||||
getAppUserCal(){
|
||||
_.apiQuery.getAppUserCal().then(res => {
|
||||
let params = {};
|
||||
if(this.data.biz_id){
|
||||
params['biz_id'] = this.data.biz_id;
|
||||
}
|
||||
_.apiQuery.getAppUserCal(params).then(res => {
|
||||
this.setData({
|
||||
userCal:res.data,
|
||||
})
|
||||
@@ -80,38 +125,54 @@ Page({
|
||||
});
|
||||
},
|
||||
|
||||
getPie(){
|
||||
//数据分析-客户数据
|
||||
getAppStatisticsHcust(){
|
||||
this.setData({
|
||||
ecPie: {
|
||||
onInit: function (canvas, width, height, dpr) {
|
||||
const pieChart = echarts.init(canvas, null, {
|
||||
width: width,
|
||||
height: height,
|
||||
devicePixelRatio: dpr // new
|
||||
});
|
||||
canvas.setChart(pieChart);
|
||||
pieChart.setOption(getPieOption());
|
||||
return pieChart;
|
||||
}
|
||||
},
|
||||
showPieChart:false,
|
||||
})
|
||||
let params = {};
|
||||
if(this.data.biz_id){
|
||||
params['biz_id'] = this.data.biz_id;
|
||||
}
|
||||
_.apiQuery.getAppStatisticsHcust(params).then(res => {
|
||||
|
||||
pieChartData = res.data.stat_data
|
||||
pieChartData.series.label.formatter = '\n{b|{b}}\n{c|{c}}\n{per|{d}%} ',
|
||||
|
||||
this.setData({
|
||||
cust_total:res.data.total,
|
||||
cust_cont_total:res.data.cont_total,
|
||||
cust_top_total:res.data.top_total,
|
||||
showPieChart:true,
|
||||
['ecPie.onInit']:pieChart,
|
||||
})
|
||||
|
||||
wx.stopPullDownRefresh()
|
||||
|
||||
});
|
||||
},
|
||||
|
||||
getBar(){
|
||||
//数据分析-订单数据
|
||||
getAppStatisticsHorder(){
|
||||
this.setData({
|
||||
ecBar: {
|
||||
onInit: function (canvas, width, height, dpr) {
|
||||
const barChart = echarts.init(canvas, null, {
|
||||
width: width,
|
||||
height: height,
|
||||
devicePixelRatio: dpr // new
|
||||
});
|
||||
canvas.setChart(barChart);
|
||||
barChart.setOption(getBarOption());
|
||||
return barChart;
|
||||
}
|
||||
},
|
||||
showBarChart:false,
|
||||
})
|
||||
let params = {};
|
||||
if(this.data.biz_id){
|
||||
params['biz_id'] = this.data.biz_id;
|
||||
}
|
||||
_.apiQuery.getAppStatisticsHorder(params).then(res => {
|
||||
|
||||
barChartData = res.data.stat_data
|
||||
this.setData({
|
||||
order_total:res.data.total,
|
||||
showBarChart:true,
|
||||
['ecBar.onInit']:barChart,
|
||||
})
|
||||
|
||||
wx.stopPullDownRefresh()
|
||||
|
||||
});
|
||||
},
|
||||
|
||||
//推送链接
|
||||
@@ -131,6 +192,8 @@ Page({
|
||||
//页面相关事件处理函数--监听用户下拉动作
|
||||
onPullDownRefresh: function () {
|
||||
this.getAppUserCal()
|
||||
this.getAppStatisticsHcust()
|
||||
this.getAppStatisticsHorder()
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
@@ -66,18 +66,18 @@
|
||||
<view class="mt40 inner30 pt40 bg-fff box-shadow-000-10-10 ulib-r10">
|
||||
<view class="relative">
|
||||
<view class="font-36">客户数据</view>
|
||||
<view class="absolute right-0 box-middle pt10 pb10 pl20 pr20 bg-ffedeb color-ff4a3a ulib-r10 font-22">累计线索总量 12,456条</view>
|
||||
<view class="absolute right-0 box-middle pt10 pb10 pl20 pr20 bg-ffedeb color-ff4a3a ulib-r10 font-22">累计线索总量 {{cust_total}} 条</view>
|
||||
</view>
|
||||
<view class="mt30 fn-flex" style="height:20rpx;">
|
||||
<view class="fn-flex-item fn-clear">
|
||||
<view class="fn-fl wp40 bg-f6 pt25 pb25 font-32 text-bold text-center ulib-r10">234</view>
|
||||
<view class="fn-fl wp40 bg-f6 pt25 pb25 font-32 text-bold text-center ulib-r10">{{cust_cont_total}}</view>
|
||||
<view class="pl140">
|
||||
<view class="mt10 font-28">狸车客户</view>
|
||||
<view class="font-22 color-666">未联系潜客(人)</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="fn-flex-item fn-clear">
|
||||
<view class="fn-fl wp40 bg-f6 pt25 pb25 font-32 text-bold text-center ulib-r10">1.26w</view>
|
||||
<view class="fn-fl wp40 bg-f6 pt25 pb25 font-32 text-bold text-center ulib-r10">{{cust_top_total}}</view>
|
||||
<view class="pl140">
|
||||
<view class="mt10 font-28">订单潜客</view>
|
||||
<view class="font-22 color-666">特别关注客户(人)</view>
|
||||
@@ -85,7 +85,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative height-600 z-index-0">
|
||||
<view class="absolute wp100 height-600">
|
||||
<view class="absolute wp100 height-600" wx:if="{{showPieChart}}">
|
||||
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecPie }}"></ec-canvas>
|
||||
</view>
|
||||
</view>
|
||||
@@ -94,10 +94,10 @@
|
||||
<view class="mt40 inner30 pt40 bg-fff box-shadow-000-10-10 ulib-r10">
|
||||
<view class="relative">
|
||||
<view class="font-36">订单数据</view>
|
||||
<view class="absolute right-0 box-middle pt10 pb10 pl20 pr20 bg-ffedeb color-ff4a3a ulib-r10 font-22">累计订单总量 12,456条</view>
|
||||
<view class="absolute right-0 box-middle pt10 pb10 pl20 pr20 bg-ffedeb color-ff4a3a ulib-r10 font-22">累计订单总量 {{order_total}} 条</view>
|
||||
</view>
|
||||
<view class="relative height-800 z-index-0">
|
||||
<view class="absolute wp100 height-800">
|
||||
<view class="absolute wp100 height-800" wx:if="{{showBarChart}}">
|
||||
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecBar }}"></ec-canvas>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
+14
-4
@@ -24,8 +24,11 @@ Page({
|
||||
if (pages.length > 1) {
|
||||
wx.navigateBack();
|
||||
}else{
|
||||
_.$router.openUrlScheme('/pages/index/index')
|
||||
//_.$router.switchTab('/pages/index/index')
|
||||
if(app.getStorageByKey("userInfo").group_id==4){
|
||||
_.$router.openUrlScheme('/pages/channel/index')
|
||||
}else{
|
||||
_.$router.openUrlScheme('/pages/index/index')
|
||||
}
|
||||
}
|
||||
}else{
|
||||
this.setData({
|
||||
@@ -102,6 +105,8 @@ Page({
|
||||
params['code'] =resc.code;
|
||||
params['sms_code'] = this.data.sms_code;
|
||||
_.apiQuery.getUserUkey(params).then(res => {
|
||||
console.log('111111111111')
|
||||
console.log(res)
|
||||
wx.setStorage({
|
||||
key: "ukey",
|
||||
data: res.data.ukey
|
||||
@@ -110,8 +115,13 @@ Page({
|
||||
if (pages.length > 1) {
|
||||
wx.navigateBack();
|
||||
}else{
|
||||
_.$router.openUrlScheme('/pages/index/index')
|
||||
//_.$router.switchTab('/pages/index/index')
|
||||
_.apiQuery.getUserInfo().then(res => {
|
||||
if(res.group_id==4){
|
||||
_.$router.openUrlScheme('/pages/channel/index')
|
||||
}else{
|
||||
_.$router.openUrlScheme('/pages/index/index')
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -139,7 +139,7 @@
|
||||
<button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" disabled="{{submitFlag}}" bindtap="{{info.loan_data.id?'putAppLoan':'postAppLoan'}}">{{info.loan_data.id?'修改信息':'保存信息'}}</button>
|
||||
</view>
|
||||
<view class="mt60 pl60 pr60" wx:elif="{{info.bill_status == 1}}">
|
||||
<button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" disabled="{{submitFlag}}" bindtap="{{info.bill_data.id?'putAppIdcard':'postAppIdcard'}}">{{info.bill_data.id?'重新上传申请':'申请开票'}}</button>
|
||||
<button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" disabled="{{submitFlag}}" bindtap="{{info.bill_data.id?'putAppIdcard':'postAppIdcard'}}">{{info.bill_data.id?'上传申请':'申请开票'}}</button>
|
||||
</view>
|
||||
<view class="mt60 pl60 pr60" wx:elif="{{info.ckcar_status == 1}}">
|
||||
<button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" disabled="{{submitFlag}}" bindtap="putAppCusorderCkcar">确认交付</button>
|
||||
@@ -147,6 +147,7 @@
|
||||
|
||||
</view>
|
||||
<lcb-footer></lcb-footer>
|
||||
<lcb-backChannel></lcb-backChannel>
|
||||
|
||||
<lcb-msg isShow="{{isShowSelectContract}}">
|
||||
<view slot="content">
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
|
||||
</view>
|
||||
<lcb-footer></lcb-footer>
|
||||
<lcb-backChannel></lcb-backChannel>
|
||||
|
||||
<lcb-msg isShow="{{isShowMessage}}">
|
||||
<view slot="content">
|
||||
|
||||
@@ -334,6 +334,7 @@
|
||||
|
||||
</view>
|
||||
<!-- <lcb-footer></lcb-footer> -->
|
||||
<lcb-backChannel></lcb-backChannel>
|
||||
|
||||
<lcb-msg isShow="{{isShowSelectCustomer}}" isHasClose="{{true}}">
|
||||
<view slot="content">
|
||||
|
||||
Reference in New Issue
Block a user