Files
oil-client-wechat/pages/statistics/statistics.js
2025-12-19 11:20:59 +08:00

190 lines
5.9 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const app = getApp();
const { count } = require('../../utils/qrPay.js');
import * as echarts from '../../components/ec-canvas/echarts';
function initChart(canvas, width, height, dpr) {
var pageArr = getCurrentPages()
const chart = echarts.init(canvas, null, {
width: width,
height: height,
devicePixelRatio: dpr // new
});
canvas.setChart(chart);
chart.setOption(pageArr[pageArr.length - 1].data.option);
return chart;
}
Page({
/**
* 页面的初始数据
*/
data: {
option: {
backgroundColor: 'transparent',
series: [{
label: {
normal: {
fontSize: 14
}
},
type: 'pie',
center: ['50%', '50%'],
radius: ['50%'],
data: [{
value: 0,
name: '钱包特惠'
}, {
value: 0,
name: '电子油卡'
}, {
value: 0,
name: '信用油卡'
}, {
value: 0,
name: '司机优惠'
}]
}]
},
opacity: false,
ec: {
onInit: initChart
},
date: '',
nvabarData: {
showCapsule: 1, //是否显示左上角图标 1表示显示 0表示不显示
title: "统计", //导航栏 中间的标题
},
// 此页面 页面内容距最顶部的距离
height: app.globalData.height,
startDay: '开始时间',
endDay: '结束时间',
countData: {},
picImg: "http://static.sxlyb.com/images/"
},
change2(data1, data2, data3, data4) {
this.setData({
option: {
backgroundColor: 'transparent',
series: [{
label: {
normal: {
fontSize: 14
}
},
type: 'pie',
center: ['50%', '50%'],
radius: ['50%'],
data: [{
value: data1,
name: '钱包特惠'
}, {
value: data2,
name: '电子油卡'
}, {
value: data3,
name: '信用油卡'
}, {
value: data4,
name: '司机优惠'
}]
}]
}
})
this.oneComponent.init((canvas, width, height, dpr) => {
var pageArr = getCurrentPages()
const chart = echarts.init(canvas, null, {
width: width,
height: height,
devicePixelRatio: dpr // new
});
canvas.setChart(chart);
chart.setOption(pageArr[pageArr.length - 1].data.option);
return chart;
});
},
onShow() {
this.oneComponent = this.selectComponent('#mychart-dom-pie');
this.getCountData()
},
getCountData() {
var that = this
const data = {
startDay: that.data.startDay,
endDay: that.data.endDay,
type: 1,
cooId: wx.getStorageSync("cooperation").id
}
count(data)
.then(e => {
wx.hideLoading()
that.setData({
countData: e.data.data,
opacity: e.data.data.walletMoney || e.data.data.cardMoney || e.data.data.creditCardMoney || e.data.data.wxMoney ? true : false
})
that.change2(this.data.countData.walletMoney, this.data.countData.cardMoney, this.data.countData.creditCardMoney ? this.data.countData.creditCardMoney : 0, this.data.countData.wxMoney)
})
.catch(e => {
wx.hideLoading()
wx.showModal({
title: '错误',
showCancel: false,
content: e.msg ? e.msg : '您的系统存在未知异常,请联系客服处理',
})
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function () {
var currentDate = new Date(); // 创建一个表示当前日期和时间的Date对象
var year = currentDate.getFullYear().toString(); // 获取年份并转换为字符串类型
var month = (currentDate.getMonth() + 1).toString().padStart(2, '0'); // 获取月份注意需要加上1并补零到两位数
var day = currentDate.getDate().toString().padStart(2, '0'); // 获
this.setData({
startDay: year + '-' + month + '-' + day,
endDay: year + '-' + month + '-' + day,
})
},
changeStartTime(e) {
var startTime = new Date(e.detail.value);
var endTime = new Date(this.data.endDay);
if (startTime.getTime() > endTime.getTime()) {
wx.showModal({
title: '提示',
showCancel: false,
content: '您所选的开始时间大于结束时间,请重新选择',
})
} else {
this.setData({
startDay: e.detail.value
})
this.getCountData()
}
},
changeEndTime(e) {
var startTime = new Date(this.data.startDay);
var endTime = new Date(e.detail.value);
if (startTime.getTime() > endTime.getTime()) {
wx.showModal({
title: '提示',
showCancel: false,
content: '您所选的结束时间小于开始时间,请重新选择',
})
} else {
this.setData({
endDay: e.detail.value
})
this.getCountData()
}
},
})