123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- namespace quanpanqushi {
- let { formmaterValueZhou } = require("../../../../utils/util")
- const chartCatch: antvChart = {
- toufangfenxiChart: undefined
- }
- module.exports = {
- upLine1() {
- if (chartCatch.toufangfenxiChart === undefined) return
- chartCatch.toufangfenxiChart.clear()
- let { before, now } = this.data.DayList1;
- 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.select1[this.data.select_act1].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();
- },
- line1(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.DayList1;
- 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.select1[this.data.select_act1].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();
- return chartCatch.toufangfenxiChart;
- }
- };
- }
|