完善学院对比

This commit is contained in:
Cool 2024-04-23 23:55:23 +08:00
parent 29f5da8c52
commit 7fc0f45a6a
1 changed files with 94 additions and 47 deletions

View File

@ -10,8 +10,7 @@
<div> <div>
<div class="query"> <div class="query">
<a-select v-model:value="oneentrydate" style="width: 200px" :options="entrydateOptions" <a-select v-model:value="oneentrydate" style="width: 200px" :options="entrydateOptions"></a-select>
@change="onCollegeMajorChange"></a-select>
<a-button style="margin-left: 10px;" type="primary" @click="allQuery">查询</a-button> <a-button style="margin-left: 10px;" type="primary" @click="allQuery">查询</a-button>
</div> </div>
@ -79,7 +78,8 @@
<div> <div>
<div class="query"> <div class="query">
<a-cascader v-model:value="collegeMajor" style="width: 300px;margin-right: 20px;" <a-cascader v-model:value="collegeMajor" style="width: 300px;margin-right: 20px;"
:options="collegeMajorOptions" :changeOnSelect="false" multiple :maxTagCount="2" /> :options="collegeMajorOptions" :changeOnSelect="false" multiple :maxTagCount="2"
@change="onMajorChange" />
<a-select v-model:value="majorentrydate" style="width: 200px" :options="entrydateOptions" mode="multiple" <a-select v-model:value="majorentrydate" style="width: 200px" :options="entrydateOptions" mode="multiple"
:max-tag-count="2" @change="onCollegeMajorChange"></a-select> :max-tag-count="2" @change="onCollegeMajorChange"></a-select>
<a-button style="margin-left: 10px;" type="primary" @click="majorQuery">查询</a-button> <a-button style="margin-left: 10px;" type="primary" @click="majorQuery">查询</a-button>
@ -228,6 +228,25 @@ export default {
}; };
}, },
methods: { methods: {
onMajorChange(value) {
console.log(value, "value")
let length = value.length;
//value,this.collegeMajorOptionsvaluethis.collegeMajorOptionschildren
for (let i = 0; i < value.length; i++) {
for (let j = 0; j < this.collegeMajorOptions.length; j++) {
if (value[i] == this.collegeMajorOptions[j].value) {
length += this.collegeMajorOptions[j].children.length;
length -= 1;
if (length > 5) {
message.error("最多选择五个专业")
//value
value.pop();
return
}
}
}
}
},
allQuery() { allQuery() {
this.tab1loading = true; this.tab1loading = true;
let college = ['全校']; let college = ['全校'];
@ -238,9 +257,18 @@ export default {
this.query(query, college, [this.oneentrydate]); this.query(query, college, [this.oneentrydate]);
}, },
async majorQuery() { async majorQuery() {
if (this.collegeMajor.length == 0 || this.collegeMajor == null) {
message.error("请选择专业")
return
}
if (this.majorentrydate.length == 0) {
message.error("请选择年级")
return
}
this.tab3loading = true; this.tab3loading = true;
let res = null; let res = null;
try { try {
let params = { let params = {
college: this.collegeMajor, college: this.collegeMajor,
entrydate: this.majorentrydate, entrydate: this.majorentrydate,
@ -257,6 +285,15 @@ export default {
} }
}, },
collegeQuery() { collegeQuery() {
if (this.collegetab2.length == 0) {
message.error("请选择学院")
return
}
if (this.collegeentrydate.length == 0) {
message.error("请选择年级")
return
}
this.tab2loading = true; this.tab2loading = true;
let query = 'tab2' let query = 'tab2'
this.query(query, this.collegetab2, this.collegeentrydate); this.query(query, this.collegetab2, this.collegeentrydate);
@ -326,41 +363,45 @@ export default {
}); });
}, },
onCollegeMajorChange(value) { onCollegeMajorChange(value) {
console.log(value, "value") console.log(value, "value")
if(value.length>3){ if (value.length > 3) {
message.error("最多选择三个") message.error("最多选择三个")
//value //value
value.pop(); value.pop();
return return
} }
}, },
//tab3 //tab2\3
drawChart(data,tab){ drawChart(data, tab) {
let seriesData = []; let seriesData = [];
let xData = this.majorentrydate.sort((a, b) => a - b); let xData = this.majorentrydate.sort((a, b) => a - b);
if (tab == 'tab2') {
xData = this.collegeentrydate.sort((a, b) => a - b);
}
let k = 0; let k = 0;
let legendData = []; let legendData = [];
let colors = ['#5370c5', '#91CC75', '#fac858', '#ee6666', '#73c0de', '#FF6A6A', '#FFA500', '#EE2C2C', '#90EE90', '#008B8B', '#FFC0CB', '#FFDAB9', '#FFDEAD', '#FFE4B5', '#FFE4C4', '#FFE4E1', '#FFEBCD', '#FFEFD5', '#FFFAF0', '#FFFAFA', '#FFFFE0', '#FFFFF0', '#FFFFFF', '#F0F8FF', '#FAEBD7', '#FAF0E6', '#FAFAD2', '#F5FFFA', '#F8F8FF', '#F0FFF0', '#F0FFFF', '#F0E68C', '#F0F8FF', '#F0FFF0', '#F0FFFF', '#F4A460', '#F5DEB3', '#F5F5DC', '#F5F5F5', '#F5FFFA', '#F8F8FF', '#F9EBEA', '#FAD7A0', '#FAF0E6', '#FAFAD2', '#FAF0E6 '] let colors = ['#5370c5', '#91CC75', '#fac858', '#ee6666', '#73c0de', '#FF6A6A', '#FFA500', '#EE2C2C', '#90EE90', '#008B8B', '#FFC0CB', '#FFDAB9', '#FFDEAD', '#FFE4B5', '#FFE4C4', '#FFE4E1', '#FFEBCD', '#FFEFD5', '#FFFAF0', '#FFFAFA', '#FFFFE0', '#FFFFF0', '#FFFFFF', '#F0F8FF', '#FAEBD7', '#FAF0E6', '#FAFAD2', '#F5FFFA', '#F8F8FF', '#F0FFF0', '#F0FFFF', '#F0E68C', '#F0F8FF', '#F0FFF0', '#F0FFFF', '#F4A460', '#F5DEB3', '#F5F5DC', '#F5F5F5', '#F5FFFA', '#F8F8FF', '#F9EBEA', '#FAD7A0', '#FAF0E6', '#FAFAD2', '#FAF0E6 ']
let isJK = false; let isJK = false;
for(let i in data){ for (let i in data) {
console.log(i,"i") console.log(i, "i")
legendData.push(i); legendData.push(i);
let yData = []; let yData = [];
// legendData=[]; // legendData=[];
console.log(data[i],"data[i]") console.log(data[i], "data[i]")
for(let j in data[i]){ for (let j in data[i]) {
console.log(data[i][j].college,"data[i][j].college111") console.log(data[i][j].college, "data[i][j].college111")
// if(data[i][j].college == ''){ // if(data[i][j].college == ''){
yData.push(data[i][j].passRate); yData.push(data[i][j].passRate);
// legendData.push(data[i][j].college); // legendData.push(data[i][j].college);
} }
console.log(yData,"yData") console.log(yData, "yData")
seriesData.push({ seriesData.push({
name: i + '级累计总通过率', name: i + '级累计总通过率',
type: 'bar', type: 'bar',
@ -387,26 +428,26 @@ export default {
} }
}); });
} }
console.log(legendData,"legendData") console.log(legendData, "legendData")
console.log(seriesData,'dasaaseriresdata') console.log(seriesData, 'dasaaseriresdata')
// debugger // debugger
let myChart = null; let myChart = null;
console.log(tab,"tab") console.log(tab, "tab")
if (tab == 'tab2') { if (tab == 'tab2') {
myChart=document.getElementById("map2"); myChart = document.getElementById("map2");
if(myChart){ if (myChart) {
myChart=echarts.getInstanceByDom(myChart) myChart = echarts.getInstanceByDom(myChart)
if(myChart){ if (myChart) {
myChart.dispose(); myChart.dispose();
} }
} }
myChart = echarts.init(document.getElementById("map2")); myChart = echarts.init(document.getElementById("map2"));
} else if (tab == 'tab3') { } else if (tab == 'tab3') {
myChart=document.getElementById("map3"); myChart = document.getElementById("map3");
if(myChart){ if (myChart) {
myChart=echarts.getInstanceByDom(myChart) myChart = echarts.getInstanceByDom(myChart)
if(myChart){ if (myChart) {
myChart.dispose(); myChart.dispose();
} }
} }
@ -428,7 +469,7 @@ export default {
//tooltip, //tooltip,
let result = params[0].name + '级通过率<br>'; let result = params[0].name + '级通过率<br>';
for (let i = 0; i < params.length; i++) { for (let i = 0; i < params.length; i++) {
result += params[i].marker + legendData[i]+ ' : ' + params[i].value + '%' + '<br>'; result += params[i].marker + legendData[i] + ' : ' + params[i].value + '%' + '<br>';
} }
return result; return result;
} }
@ -520,6 +561,9 @@ export default {
} }
}); });
if (j == colors.length) {
j = 0;
}
let rankData = yData.slice().sort((a, b) => b - a).map((value) => yData.indexOf(value) + 1); let rankData = yData.slice().sort((a, b) => b - a).map((value) => yData.indexOf(value) + 1);
// //
if (tab == 'tab1') { if (tab == 'tab1') {
@ -548,6 +592,9 @@ export default {
} }
} }
}); });
if (j == colors.length) {
j = 0;
}
} }
} }
let myChart = null; let myChart = null;
@ -691,19 +738,19 @@ export default {
this.visible = false; this.visible = false;
let result = null; let result = null;
console.log(this.college, this.entrydate); // console.log(this.college, this.entrydate);
//this.collegethis.batchnull // //this.collegethis.batchnull
if (this.college === null || this.college.length === 0) { // if (this.college === null || this.college.length === 0) {
this.college = ['全校']; // this.college = [''];
} // }
if (!this.entrydate || this.entrydate.length === 0) { // if (!this.entrydate || this.entrydate.length === 0) {
this.entrydate = ['2017']; // this.entrydate = ['2017'];
} // }
try { try {
console.log(this.college, this.entrydate) // console.log(this.college, this.entrydate)
let params = { let params = {
college: college, college: college,
entrydate: entrydate, entrydate: entrydate,
@ -723,7 +770,7 @@ export default {
if (query == 'tab1') { if (query == 'tab1') {
this.dataChart(result.data, query); this.dataChart(result.data, query);
} else if (query == 'tab2') { } else if (query == 'tab2') {
this.drawChart(result.data,query); this.drawChart(result.data, query);
} }