2
项目实训 7.20
今天完成了月平均温度页面与后端的连接,实现了月平均气温页面的多选城市和排序功能。
主要代码:
async getTemList(checkedCitiesList,y){
let year1 = parseInt(y)
let temlist={
checkedCities:checkedCitiesList,
year: year1
}
console.log("打印参数")
console.log(temlist)
console.log("打印temlist")
console.log(temlist)
this.$axios.post('/cityclimate/temp_of_cities',temlist,
).then(res =>{
console.log(res)
console.log("打印返回")
console.log(res.data)
this.templist=res.data
const myChart = this.$echarts.init(document.getElementById('main1'));
let option = myChart.getOption();
let xAxis = option.xAxis;
let series = option.series;
series.splice(0, series.length)
console.log("-0---------------")
//后端接口获取数据
console.log("打印checkCities")
console.log(this.checkedCities)
console.log("打印调用")
console.log(this.templist)
if(this.nongchan.chart=='柱状堆叠图'){
for(let i =0;i<this.templist.length;i++){
series.push( {
name:this.templist[i].city,
type: 'bar',
stack: '总量',
data: this.templist[i].list
})
}
}
else{
for(let i =0;i<this.templist.length;i++){
series.push( {
name:this.templist[i].city,
type: 'line',
stack: '总量',
data: this.templist[i].list,
areaStyle: {},
emphasis: {
focus: 'series'
},
})
}
}
console.log("打印series")
for(let i=0;i<series.length;i++){
console.log(series[i])
}
myChart.setOption(option)
})
},
ascending(){
console.log(this.radio)
let y=parseInt(this.nongchan.year)
let m=parseInt(this.nongchan.month)
let asclist={
year:y,
month:m
}
this.$axios.post('/cityclimate/avg_temp_asc',asclist,
).then(res =>{
console.log("__________")
console.log("打印升序")
console.log(res.data)
this.ascendingList=res.data
const myChart1 = this.$echarts.init(document.getElementById('main2'));
let option = myChart1.getOption();
let xAxis = option.xAxis;
let series = option.series;
let d=[];
series.splice(0, series.length)
xAxis[0].data.splice(0, xAxis[0].data.length)
for(let i=0;i<this.ascendingList.length;i++){
console.log(this.ascendingList[i].city)
xAxis[0].data.push(this.ascendingList[i].city)
d.push(this.ascendingList[i].temp)
}
series.push({
data: d,
type: 'line',
smooth: true
})
//series更新
myChart1.setOption(option)
})
},
descending(){
console.log(this.radio)
let y=parseInt(this.nongchan.year)
let m=parseInt(this.nongchan.month)
let asclist={
year:y,
month:m
}
this.$axios.post('/cityclimate/avg_temp_desc',asclist,
).then(res =>{
console.log("__________")
console.log("打印升序")
console.log(res.data)
this.descendingList=res.data
const myChart1 = this.$echarts.init(document.getElementById('main2'));
let option = myChart1.getOption();
let xAxis = option.xAxis;
let series = option.series;
let d=[];
series.splice(0, series.length)
xAxis[0].data.splice(0, xAxis[0].data.length)
for(let i=0;i<this.descendingList.length;i++){
console.log(this.descendingList[i].city)
xAxis[0].data.push(this.descendingList[i].city)
d.push(this.descendingList[i].temp)
}
series.push({
data: d,
type: 'line',
smooth: true
})
//series更新
myChart1.setOption(option)
})
},