namespace quanpanqushi { let { formmaterValueZhou } = require("../../../../utils/util") const chartCatch: antvChart = { toufangfenxiChart: undefined } module.exports = { upLine() { if (chartCatch.toufangfenxiChart === undefined) return chartCatch.toufangfenxiChart.clear() let { before, now } = this.data.DayList; let beforeString = before.length ? `${before[0].name}至${before[before.length - 1].name}` : ""; let nowString = now.length ? `${now[0].name}至${now[now.length - 1].name}` : ""; before = before.map((v: any, i: number) => { v.index = i; v.dataKeyTypt = beforeString; return v }) now = now.map((v: any, i: number) => { v.index = i; v.dataKeyTypt = nowString; return v }) const data = [...before, ...now]; 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.scale(key, { 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: data[Number(text)].name } } }); 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].name; items[0].value = formmaterValueZhou(items[0].value, 2); if(items[1]){ items[1].name = data[index + this.data.DayList.before.length - 1].name; items[1].value = formmaterValueZhou(items[1].value, 2); } } }); chartCatch.toufangfenxiChart.line().position('index*' + key).shape('smooth').color("dataKeyTypt", ["#1b9ade", "#fd5555"]); 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 { before, now } = this.data.DayList; let beforeString = before.length ? `${before[0].name}至${before[before.length - 1].name}` : ""; let nowString = now.length ? `${now[0].name}至${now[now.length - 1].name}` : ""; before = before.map((v: any, i: number) => { v.index = i; v.dataKeyTypt = beforeString; return v }) now = now.map((v: any, i: number) => { v.index = i; v.dataKeyTypt = nowString; return v }) const data = [...before, ...now]; 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.scale(key, { 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: data[Number(text)].name } } }); 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].name; items[0].value = formmaterValueZhou(items[0].value, 2); if(items[1]){ items[1].name = data[index + this.data.DayList.before.length - 1].name; items[1].value = formmaterValueZhou(items[1].value, 2); } } }); console.log(data, key) chartCatch.toufangfenxiChart.line().position('index*' + key).shape('smooth').color("dataKeyTypt", ["#1b9ade", "#fd5555"]); chartCatch.toufangfenxiChart.render(); return chartCatch.toufangfenxiChart; } }; }