namespace zhongdiankehu { let { getMarket } = require('../../../../utils/api') let first = true; Component({ /** * 组件的属性列表 */ properties: { array: { type: Object }, channel: { type: Object }, }, observers: { 'array': function () { !first && this.upData() !first && this.upData1() }, 'channel': function () { !first && this.upData() !first && this.upData1() }, }, ready() { this.init(); first = false; }, /** * 组件的初始数据 */ data: { onInitChart: undefined, onInitChart1: undefined, DayList: [], DayList1: [], DayList3: [], DayList4: [], select_act: 0, select: [ { text: "费用", proportionType: "fee", type: 3, unit: "元", }, { text: "时长", proportionType: "timeSize", type: 2, unit: "分", }, { text: "频次", proportionType: "pinci", type: 1, unit: "次", }, ], select_act1: 0, select1: [ { text: "时长", proportionType: "timeSize", type: 2, unit: "分", }, { text: "频次", proportionType: "pinci", type: 1, unit: "次", }, ] }, /** * 组件的方法列表 */ methods: { init() { let channelItem = this.data.channel; Promise.all([ getMarket({ dataType: this.data.select[this.data.select_act].type, indexTime: this.data.array.index, tableType: 8 }), getMarket({ dataType: this.data.select[this.data.select_act].type, indexTime: this.data.array.index, tableType: 9 }), getMarket({ dataType: this.data.select1[this.data.select_act1].type, indexTime: this.data.array.index, tableType: 10 }), getMarket({ dataType: this.data.select1[this.data.select_act1].type, indexTime: this.data.array.index, tableType: 11 }), ]).then((res: any[]) => { let realMarster = res[0].filter((v: any) => v.linkType === "2"), key = this.data.select[this.data.select_act].proportionType; for (let i = 0; i < res[0].length; i++) { const v = res[0][i]; if (v.linkType === "2") continue; realMarster.map((item: any, o: number) => { v [key] = Number(v[key]) if (item.name === v.name) realMarster[o].compare = v[key] < item[key]; }); } realMarster = realMarster.map((v:any)=>{ v[key] = Number(v[key]) return v }) let brand = res[1].filter((v: any) => v.linkType === "2"); for (let i = 0; i < res[1].length; i++) { const v = res[1][i]; if (v.linkType === "2") continue; brand.map((item: any, o: number) => { v [key] = Number(v[key]) if (item.name === v.name) brand[o].compare = v[key] < item[key]; }); } brand = brand.map((v:any)=>{ v[key] = Number(v[key]) return v }) let realy = res[2].filter((v: any) => v.linkType === "2"); for (let i = 0; i < res[2].length; i++) { const v = res[2][i]; if (v.linkType === "2") continue; realy.map((item: any, o: number) => { v [key] = Number(v[key]) if (item.name === v.name) realy[o].compare = v[key] < item[key]; }); } realy = realy.map((v:any)=>{ v[key] = Number(v[key]) return v }) let brandy = res[3].filter((v: any) => v.linkType === "2"); for (let i = 0; i < res[3].length; i++) { const v = res[3][i]; if (v.linkType === "2") continue; brandy.map((item: any, o: number) => { v [key] = Number(v[key]) if (item.name === v.name) brandy[o].compare = v[key] < item[key]; }); } brandy = brandy.map((v:any)=>{ v[key] = Number(v[key]) return v }) this.setData({ DayList: realMarster, DayList1: brand, DayList3: realy, DayList4: brandy, }) }) }, upData() { Promise.all([ getMarket({ dataType: this.data.select[this.data.select_act].type, indexTime: this.data.array.index, tableType: 8 }), getMarket({ dataType: this.data.select[this.data.select_act].type, indexTime: this.data.array.index, tableType: 9 }), ]).then((res: any[]) => { let realMarster = res[0].filter((v: any) => v.linkType === "2"), key = this.data.select[this.data.select_act].proportionType; for (let i = 0; i < res[0].length; i++) { const v = res[0][i]; if (v.linkType === "2") continue; realMarster.map((item: any, o: number) => { v [key] = Number(v[key]) if (item.name === v.name) realMarster[o].compare = v[key] < item[key]; }); } realMarster = realMarster.map((v:any)=>{ v[key] = Number(v[key]) return v }) let brand = res[0].filter((v: any) => v.linkType === "2"); for (let i = 0; i < res[0].length; i++) { const v = res[0][i]; if (v.linkType === "2") continue; brand.map((item: any, o: number) => { v [key] = Number(v[key]) if (item.name === v.name) brand[o].compare = v[key] < item[key]; }); } brand = brand.map((v:any)=>{ v[key] = Number(v[key]) return v }) console.log(realMarster) this.setData({ DayList: realMarster, DayList1: brand, }) }) }, upData1() { let channelItem = this.data.channel,key = this.data.select[this.data.select_act].proportionType;; Promise.all([ getMarket({ dataType: this.data.select1[this.data.select_act1].type, indexTime: this.data.array.index, tableType: 10 }), getMarket({ dataType: this.data.select1[this.data.select_act1].type, indexTime: this.data.array.index, tableType: 11 }), ]).then((res: any[]) => { let realy = res[0].filter((v: any) => v.linkType === "2"); for (let i = 0; i < res[0].length; i++) { const v = res[0][i]; if (v.linkType === "2") continue; realy.map((item: any, o: number) => { v [key] = Number(v[key]) if (item.name === v.name) realy[o].compare = v[key] < item[key]; }); } realy = realy.map((v:any)=>{ v[key] = Number(v[key]) return v }) let brandy = res[1].filter((v: any) => v.linkType === "2"); for (let i = 0; i < res[1].length; i++) { const v = res[1][i]; if (v.linkType === "2") continue; brandy.map((item: any, o: number) => { v [key] = Number(v[key]) if (item.name === v.name) brandy[o].compare = v[key] < item[key]; }); } brandy = brandy.map((v:any)=>{ v[key] = Number(v[key]) return v }) this.setData({ DayList3: realy, DayList4: brandy, }) }) }, channelChange(event: wxPicker) { this.setData({ select_act: Number(event.detail.value) }, () => this.upData()) }, channelChange1(event: wxPicker) { this.setData({ select_act1: Number(event.detail.value) }, () => this.upData()) } } }) }