var app = getApp() var that; var chart1; var chart2; Page({ data: { date: app.globalData.month, employee_id: 0, isDb: false, showtu: false, chartData: [] }, onLoad(e) { that = this; dd.setNavigationBar({ title: "奖扣统计" }); chart1, chart2 = ''; if (e.id && e.month) { that.setData({ date: e.month, employee_id: e.id }) } console.log(e) }, onShow() { if (app.globalData.userData) { that.setData({ showtu: true }) // that.getUserData(); } else { app.login(app.globalData.corpId, function (is) { if (is) { that.setData({ showtu: true }) that.getUserData(); } else { dd.reLaunch({ url: '../../noJurisdiction/noJurisdiction' }) } },function(){}) } }, open2(){ dd.navigateTo({ url: '../../statistics/integralEventTwo/integralEventTwo?month='+that.data.date+'&id='+that.data.userData.id }) }, onInitChart(F2, config) { chart1 = new F2.Chart(config); chart1.source(that.data.chartData, { time: { // type: 'timeCat', tickCount: 5, range: [0, 1] } }); chart1.legend(false); chart1.axis('time', { label: function label(text, index, total) { const textCfg = {}; if (index === 0) { textCfg.textAlign = 'left'; } else if (index === total - 1) { textCfg.textAlign = 'right'; } return textCfg; }, }); chart1.line().position('time*value').color('type', ['#F56C6C', '#67C23A']); chart1.render(); return chart1; }, onInitChart2(F2, config) { chart2 = new F2.Chart(config); chart2.source(that.data.chartData, { time: { // type: 'timeCat', tickCount: 5, range: [0, 1] } }); chart2.legend(false); chart2.axis('time', { label: function label(text, index, total) { const textCfg = {}; if (index === 0) { textCfg.textAlign = 'left'; } else if (index === total - 1) { textCfg.textAlign = 'right'; } return textCfg; }, }); chart2.line().position('time*value').color('type', ['#F56C6C', '#67C23A']); chart2.render(); that.getUserData(); return chart2; }, getIncidentLsit() { app.$get("api/integral/statistics/prize", { employee_id: that.data.employee_id, month: that.data.date }).then((res) => { const { chart } = res.data.data; const { reward, deduct } = chart; var rewardArr = reward.map((item) => { return { time: item.date, value: item.point, type: '奖分' }; }) var deductArr = deduct.map((item) => { return { time: item.date, value: item.point, type: '扣分' }; }) var rewardArrCount = reward.map((item) => { return { time: item.date, value: item.count, type: '奖分人次' }; }) var deductArrCount = deduct.map((item) => { return { time: item.date, value: item.count, type: '扣分人次' }; }) var charData = rewardArr.concat(deductArr); var charData2 = rewardArrCount.concat(deductArrCount); chart1.changeData(charData); chart2.changeData(charData2); }) }, //时间选择 openDate() { that.setData({ showDate: true }); dd.datePicker({ format: 'yyyy-MM', currentDate: that.data.date, success: (res) => { if (res.date) { that.setData({ date: res.date, isDb: false }) that.getUserData(); // that.getIncidentLsit(); } }, complete: (res) => { that.setData({ showDate: false }) } }); }, opneWebSocket() { let data={type:"es_info",recorder_id:that.data.employee_id||app.globalData.userData.id,month: that.data.date}; app.globalData.socketApi.sendData(data, (res) => { if (res.code == 1&&res.type=='es_info') { let data = res.result; var task = data.task; var ratio = task.ratio.enable== 0 ? '-' : `${task.ratio.reward_ratio}:1` var target_ratio = task.ratio.target <= 0 ? '0:1' : `${task.ratio.target}:1` dd.setNavigationBar({ title: data.name }); data.ratio = { ratio: ratio, target_ratio: target_ratio } that.setData({ userData: data }) const { chart } = res.result; const { reward, deduct } = chart; var rewardArr = reward.map((item) => { return { time: item.date, value: item.point, type: '奖分' }; }) var deductArr = deduct.map((item) => { return { time: item.date, value: item.point, type: '扣分' }; }) var rewardArrCount = reward.map((item) => { return { time: item.date, value: item.count, type: '奖分人次' }; }) var deductArrCount = deduct.map((item) => { return { time: item.date, value: item.count, type: '扣分人次' }; }) var charData = rewardArr.concat(deductArr); console.log(charData) var charData2 = rewardArrCount.concat(deductArrCount); chart1.changeData(charData); chart2.changeData(charData2); app.globalData.socketApi.closewebsocket(); } }, true); }, //获取个人统计 getUserData() { this.opneWebSocket(); return false app.$get("api/integral/statistics", { employee_id: that.data.employee_id, month: that.data.date }).then((res) => { var data = res.data.data; var task = data.task; dd.setNavigationBar({ title: data.name }); var ratio = task.reward.point === 0 || task.deduction.point === 0 ? '-' : `${task.ratio.ratio}:1` var target_ratio = task.ratio.target_ratio <= 0 ? '0:0' : `${task.ratio.target_ratio}:1` if (data.task.reward.point >= data.task.reward.target_point && data.task.deduction.point >= data.task.deduction.target_point && data.task.exec.count >= data.task.exec.target_count) { if (task.ratio.ratio >= task.ratio.target_ratio) { this.setData({ isDb: true }) } } data.ratio = { ratio: ratio, target_ratio: target_ratio } this.setData({ userData: data }) }) }, });