namespace zhouzoushi { const { formmaterValueZhou } = require("../../../../utils/util") const chartCatch: antvChart = { toufangfenxiChart: undefined } const F2Chart = { upLine() { if (chartCatch.toufangfenxiChart === undefined) return chartCatch.toufangfenxiChart.clear() let { softData, hardData } = this.data.DayList; softData = softData.map((v: any, i: number) => { v.index = i; v.timeSize = Number((v.timeSize/60).toFixed(2)) v.dataKeyTypt = '软广'; return v }) hardData = hardData.map((v: any, i: number) => { v.index = i; v.timeSize = Number((v.timeSize/60).toFixed(2)) v.dataKeyTypt = '硬广'; return v }) const data = [ ...hardData,...softData], week = ['一','二','三','四','五','六','日']; if (chartCatch.toufangfenxiChart === undefined) return; let key = this.data.select[this.data.select_act].proportionType; chartCatch.toufangfenxiChart.legend('gender', { position: 'right' }); chartCatch.toufangfenxiChart.source(data); chartCatch.toufangfenxiChart.scale('index', { tickCount: 3 }); chartCatch.toufangfenxiChart.axis('index', { label: (text: string, index: number, total: number) => { let align = 'center'; if (index === 0) align = 'left'; if (index === total - 1) align = 'right'; return { textAlign: align, text: '周' + week[Number(text)] } } }); chartCatch.toufangfenxiChart.axis(key, { label: (text: string, index: number, total: number) => { return { text: formmaterValueZhou(text, 0) } } }); chartCatch.toufangfenxiChart.tooltip({ showCrosshairs: true, triggerOn: ['touchstart', 'touchmove'], onShow: (ev: tooltipOnShow) => { const items = ev.items; const { tooltip: { title } } = ev; let index = Number(title || 0); index < 0 ? index = 0 : ""; items[0].name = data[index].dataKeyTypt; items[1].name = data[index + this.data.DayList.softData.length].dataKeyTypt; console.log(data[index]) items[0].value = formmaterValueZhou(items[0].value, 2); items[1].value = formmaterValueZhou(items[1].value, 2); } }); chartCatch.toufangfenxiChart.interval().position('index*' + key).shape('smooth').color("dataKeyTypt", ["#1b9ade", "#fd5555"]).adjust({ type: 'dodge', marginRatio: 0 // 设置分组间柱子的间距 }); chartCatch.toufangfenxiChart.render(); }, line(F2: any, config: any) { if (chartCatch.toufangfenxiChart !== undefined) chartCatch.toufangfenxiChart.destroy(), chartCatch.toufangfenxiChart = undefined; let sys = wx.getSystemInfoSync(); config.height = sys.windowWidth / 16 * 9; chartCatch.toufangfenxiChart = new F2.Chart(config); let { softData, hardData } = this.data.DayList; softData = softData.map((v: any, i: number) => { v.index = i; v.timeSize = Number((v.timeSize/60).toFixed(2)) v.dataKeyTypt = '软广'; return v }) hardData = hardData.map((v: any, i: number) => { v.index = i; v.timeSize = Number((v.timeSize/60).toFixed(2)) v.dataKeyTypt = '硬广'; return v }) const data = [ ...hardData,...softData], week = ['一','二','三','四','五','六','日']; if (chartCatch.toufangfenxiChart === undefined) return; let key = this.data.select[this.data.select_act].proportionType; chartCatch.toufangfenxiChart.legend('gender', { position: 'right' }); chartCatch.toufangfenxiChart.source(data); chartCatch.toufangfenxiChart.scale('index', { tickCount: 7 }); chartCatch.toufangfenxiChart.axis('index', { label: (text: string, index: number, total: number) => { let align = 'center'; if (index === 0) align = 'left'; if (index === total - 1) align = 'right'; return { textAlign: align, text: '周' + week[Number(text)] } } }); chartCatch.toufangfenxiChart.axis(key, { label: (text: string, index: number, total: number) => { return { text: formmaterValueZhou(text, 0) } } }); chartCatch.toufangfenxiChart.tooltip({ showCrosshairs: true, triggerOn: ['touchstart', 'touchmove'], onShow: (ev: tooltipOnShow) => { const items = ev.items; const { tooltip: { title } } = ev; let index = Number(title || 0); index < 0 ? index = 0 : ""; items[0].name = data[index].dataKeyTypt; items[1].name = data[index + this.data.DayList.softData.length].dataKeyTypt; console.log(data[index]) items[0].value = formmaterValueZhou(items[0].value, 2); items[1].value = formmaterValueZhou(items[1].value, 2); } }); chartCatch.toufangfenxiChart.interval().position('index*' + key).shape('smooth').color("dataKeyTypt", ["#1b9ade", "#fd5555"]).adjust({ type: 'dodge', marginRatio: 0 // 设置分组间柱子的间距 }); chartCatch.toufangfenxiChart.render(); return chartCatch.toufangfenxiChart; }, clearchart(){ if (chartCatch.toufangfenxiChart !== undefined) chartCatch.toufangfenxiChart.destroy(), chartCatch.toufangfenxiChart = undefined; } }; module.exports = F2Chart; }