提交 a64b6b56 authored 作者: zfl's avatar zfl

学员考试结果统计优化

上级 11ef542e
...@@ -14,7 +14,9 @@ ...@@ -14,7 +14,9 @@
export default { export default {
props: ['chart_data', 'chart_id'], props: ['chart_data', 'chart_id'],
data() { data() {
return {}; return {
myChart:null
};
}, },
components: {}, components: {},
...@@ -38,7 +40,7 @@ export default { ...@@ -38,7 +40,7 @@ export default {
}); });
let _that = this; let _that = this;
let dom = document.getElementById(`${this.chart_id}`); let dom = document.getElementById(`${this.chart_id}`);
let myChart = this.$echarts.init(dom, null, { this.myChart = this.$echarts.init(dom, null, {
renderer: 'canvas', renderer: 'canvas',
useDirtyRect: false, useDirtyRect: false,
}); });
...@@ -99,10 +101,25 @@ export default { ...@@ -99,10 +101,25 @@ export default {
}; };
if (option && typeof option === 'object') { if (option && typeof option === 'object') {
myChart.setOption(option); this.myChart.setOption(option);
} }
window.addEventListener('resize', myChart.resize); window.addEventListener('resize', this.myChart.resize);
},
savePieImg(name = '图片') {
var picInfo = this.myChart.getDataURL({
type: 'png',
pixelRatio: 1, //放大两倍下载,之后压缩到同等大小展示。解决生成图片在移动端模糊问题
backgroundColor: '#fff',
}); //获取到的是一串base64信息
const elink = document.createElement('a');
elink.download = name;
elink.style.display = 'none';
elink.href = picInfo;
document.body.appendChild(elink);
elink.click();
URL.revokeObjectURL(elink.href); // 释放URL 对象
document.body.removeChild(elink);
}, },
//处理数据 //处理数据
changData(data) { changData(data) {
......
...@@ -86,6 +86,10 @@ ...@@ -86,6 +86,10 @@
height="250" height="250"
style="width: 100%" style="width: 100%"
> >
<el-table-column
type="index"
width="50">
</el-table-column>
<el-table-column <el-table-column
prop="student_id" prop="student_id"
sortable sortable
......
...@@ -8,6 +8,7 @@ export default { ...@@ -8,6 +8,7 @@ export default {
props: ['chart_data', 'chart_id'], props: ['chart_data', 'chart_id'],
data() { data() {
return { return {
myChart:null,
}; };
}, },
...@@ -22,7 +23,7 @@ export default { ...@@ -22,7 +23,7 @@ export default {
methods: { methods: {
initChart() { initChart() {
let dom = document.getElementById(`${this.chart_id}`); let dom = document.getElementById(`${this.chart_id}`);
let myChart = this.$echarts.init(dom, null, { this.myChart = this.$echarts.init(dom, null, {
renderer: 'canvas', renderer: 'canvas',
useDirtyRect: false useDirtyRect: false
}); });
...@@ -55,9 +56,24 @@ export default { ...@@ -55,9 +56,24 @@ export default {
}; };
if (option && typeof option === 'object') { if (option && typeof option === 'object') {
myChart.setOption(option); this.myChart.setOption(option);
} }
window.addEventListener('resize', myChart.resize); window.addEventListener('resize', this.myChart.resize);
},
savePieImg(name = '图片') {
var picInfo = this.myChart.getDataURL({
type: 'png',
pixelRatio: 1, //放大两倍下载,之后压缩到同等大小展示。解决生成图片在移动端模糊问题
backgroundColor: '#fff',
}); //获取到的是一串base64信息
const elink = document.createElement('a');
elink.download = name;
elink.style.display = 'none';
elink.href = picInfo;
document.body.appendChild(elink);
elink.click();
URL.revokeObjectURL(elink.href); // 释放URL 对象
document.body.removeChild(elink);
}, },
} }
} }
......
...@@ -70,7 +70,19 @@ ...@@ -70,7 +70,19 @@
</div> </div>
</div> </div>
</div> </div>
<div v-else-if="e.key == 'wrong_num'">
<el-popover
placement="top-start"
title="错误人员信息:"
width="300"
trigger="hover"
>
<span>{{ item.distribute_student.join(',') }}</span>
<div slot="reference">
{{ item.wrong_num }}
</div>
</el-popover>
</div>
<div v-else-if="e.key == 'ratio'"> <div v-else-if="e.key == 'ratio'">
<el-popover <el-popover
placement="top-start" placement="top-start"
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
icon="el-icon-download" icon="el-icon-download"
circle circle
class="print_box" class="print_box"
@click="downloadImg()" @click="downloadImg(original_data.image_id)"
> >
</el-button> </el-button>
<el-checkbox <el-checkbox
...@@ -58,6 +58,7 @@ ...@@ -58,6 +58,7 @@
<div class="content_container" v-if="false"> <div class="content_container" v-if="false">
<line-chart <line-chart
:ref="original_data.image_id"
:chart_data="original_data.data" :chart_data="original_data.data"
:chart_id="original_data.chart_id" :chart_id="original_data.chart_id"
></line-chart> ></line-chart>
...@@ -69,6 +70,7 @@ ...@@ -69,6 +70,7 @@
keys: original_data.keys, keys: original_data.keys,
labers: original_data.labers, labers: original_data.labers,
}" }"
:ref="original_data.image_id"
:chart_id="original_data.chart_id" :chart_id="original_data.chart_id"
></bar-chart> ></bar-chart>
</div> </div>
...@@ -100,7 +102,7 @@ ...@@ -100,7 +102,7 @@
@selectChange="selectChange" @selectChange="selectChange"
></SelectLineChartData> ></SelectLineChartData>
<SelectLineChart <SelectLineChart
ref="SelectLineChart" :ref="original_data.image_id"
:chart_id="original_data.chart_id" :chart_id="original_data.chart_id"
:labers="original_data.labers" :labers="original_data.labers"
:keys="original_data.keys" :keys="original_data.keys"
...@@ -184,7 +186,7 @@ export default { ...@@ -184,7 +186,7 @@ export default {
} }
}, },
downloadImg(val) { downloadImg(val) {
this.$refs.SelectLineChart.savePieImg(); this.$refs[val].savePieImg();
}, },
// titleSelectData(val) { // titleSelectData(val) {
// console.log(val); // console.log(val);
......
...@@ -382,7 +382,7 @@ export default { ...@@ -382,7 +382,7 @@ export default {
); //片烟 ); //片烟
this.swingHandle_data = this.changeSwingHandle( this.swingHandle_data = this.changeSwingHandle(
res.review_content.swingHandle res.review_content.swingHandle
); ); //甩把
} }
}); });
}, },
...@@ -422,6 +422,7 @@ export default { ...@@ -422,6 +422,7 @@ export default {
return { return {
type: 'trend_analysis', type: 'trend_analysis',
chart_id: 'swingHandle_bar_chart', chart_id: 'swingHandle_bar_chart',
image_id: 'swingHandle_data_bar_chart',
title: '甩把', title: '甩把',
color: '#39c183f0', color: '#39c183f0',
obj, obj,
...@@ -462,6 +463,7 @@ export default { ...@@ -462,6 +463,7 @@ export default {
return { return {
type: 'trend_analysis', type: 'trend_analysis',
image_id: 'holdtobacco_bar_chart',
chart_id: 'holdTobacco_bar_chart', chart_id: 'holdTobacco_bar_chart',
title: '把烟', title: '把烟',
color: '#39c183f0', color: '#39c183f0',
...@@ -504,6 +506,7 @@ export default { ...@@ -504,6 +506,7 @@ export default {
return { return {
type: 'trend_analysis', type: 'trend_analysis',
chart_id: 'flakeTobacco_bar_chart', chart_id: 'flakeTobacco_bar_chart',
image_id: 'flakeTobacco_bar_chart',
title: '片烟', title: '片烟',
color: '#E6A23C', color: '#E6A23C',
obj, obj,
...@@ -561,6 +564,7 @@ export default { ...@@ -561,6 +564,7 @@ export default {
]; ];
return { return {
type: 'bar', type: 'bar',
image_id: 'changeProvinceScore_bar_chart',
chart_id: 'bar_chart', chart_id: 'bar_chart',
color: '#E6A23C', color: '#E6A23C',
title: '南方北方烟得分情况', title: '南方北方烟得分情况',
...@@ -583,6 +587,7 @@ export default { ...@@ -583,6 +587,7 @@ export default {
type: 'bar', type: 'bar',
chart_id: 'province_bar_chart', chart_id: 'province_bar_chart',
color: '#505F79', color: '#505F79',
image_id: 'changeProvinceScore_bar_chart',
title: '省级产区得分情况', title: '省级产区得分情况',
labers, labers,
keys, keys,
...@@ -601,6 +606,7 @@ export default { ...@@ -601,6 +606,7 @@ export default {
return { return {
type: 'bar', type: 'bar',
chart_id: 'breed_bar_chart', chart_id: 'breed_bar_chart',
image_id: 'changeBreedScore_bar_chart',
color: '#39c183f0', color: '#39c183f0',
title: '品种得分情况', title: '品种得分情况',
labers, labers,
...@@ -808,6 +814,7 @@ export default { ...@@ -808,6 +814,7 @@ export default {
wrong_num: datas[element].wrong_num, wrong_num: datas[element].wrong_num,
// distribute: datas[element].distribute, // distribute: datas[element].distribute,
distribute: countOccurrences(datas[element].distribute), distribute: countOccurrences(datas[element].distribute),
distribute_student: datas[element].distribute_student,
}); });
}); });
return { return {
...@@ -838,6 +845,7 @@ export default { ...@@ -838,6 +845,7 @@ export default {
answer: datas[element].answer, answer: datas[element].answer,
wrong_num: datas[element].wrong_num, wrong_num: datas[element].wrong_num,
distribute: countOccurrences(datas[element].distribute), distribute: countOccurrences(datas[element].distribute),
distribute_student: datas[element].distribute_student,
}); });
}); });
return { return {
...@@ -869,6 +877,7 @@ export default { ...@@ -869,6 +877,7 @@ export default {
wrong_num: datas[element].wrong_num, wrong_num: datas[element].wrong_num,
// distribute: datas[element].distribute, // distribute: datas[element].distribute,
distribute: countOccurrences(datas[element].distribute), distribute: countOccurrences(datas[element].distribute),
distribute_student: datas[element].distribute_student,
//distribute: countOccurrences(datas[element].distribute), //distribute: countOccurrences(datas[element].distribute),
}); });
...@@ -902,6 +911,7 @@ export default { ...@@ -902,6 +911,7 @@ export default {
wrong_num: datas[element].wrong_num, wrong_num: datas[element].wrong_num,
// distribute: datas[element].distribute, // distribute: datas[element].distribute,
distribute: countOccurrences(datas[element].distribute), distribute: countOccurrences(datas[element].distribute),
distribute_student: datas[element].distribute_student,
//countOccurrences //countOccurrences
}); });
}); });
......
...@@ -104,18 +104,22 @@ ...@@ -104,18 +104,22 @@
<el-row class="row_container"> <el-row class="row_container">
<el-col :span="12"> <el-col :span="12">
<div class="top_input_box" @keyup.enter="enterSearch"> <div class="top_input_box" @keyup.enter="enterSearch">
<el-input <el-row>
class="input_box" <el-col :span="8">
v-model="request_params.top.error_top" <el-row>
></el-input> <el-col :span="8" style="line-height: 36px;">TOP:</el-col>
<el-input <el-col :span="16"><el-input v-model="request_params.top.error_top"></el-input></el-col>
class="input_box" </el-row>
v-model="request_params.top.error_region_max" </el-col>
></el-input> <el-col :span="16">
<el-input <el-row>
class="input_box" <el-col :span="4" style="line-height: 36px;text-align: right;">范围:</el-col>
v-model="request_params.top.error_region_min" <el-col :span="9"><el-input type="number" v-model="request_params.top.error_region_min" ></el-input></el-col>
></el-input> <el-col :span="2" style="line-height: 36px;text-align: center;">- </el-col>
<el-col :span="9"><el-input type="number" v-model="request_params.top.error_region_max" ></el-input></el-col>
</el-row>
</el-col>
</el-row>
</div> </div>
<div class="centenr_container"> <div class="centenr_container">
<AnalyseModule <AnalyseModule
...@@ -126,7 +130,23 @@ ...@@ -126,7 +130,23 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<div class="top_input_box" @keyup.enter="enterSearch"> <div class="top_input_box" @keyup.enter="enterSearch">
<el-input <el-row>
<el-col :span="8">
<el-row>
<el-col :span="8" style="line-height: 36px">TOP:</el-col>
<el-col :span="16"><el-input v-model="request_params.top.success_top"></el-input></el-col>
</el-row>
</el-col>
<el-col :span="16">
<el-row>
<el-col :span="4" style="line-height: 36px;text-align: right;">范围:</el-col>
<el-col :span="9"><el-input type="number" v-model="request_params.top.success_region_min" ></el-input></el-col>
<el-col :span="2" style="line-height: 36px;text-align: center;">- </el-col>
<el-col :span="9"><el-input type="number" v-model="request_params.top.success_region_max" ></el-input></el-col>
</el-row>
</el-col>
</el-row>
<!-- <el-input
class="input_box" class="input_box"
v-model="request_params.top.success_top" v-model="request_params.top.success_top"
></el-input> ></el-input>
...@@ -137,7 +157,7 @@ ...@@ -137,7 +157,7 @@
<el-input <el-input
class="input_box" class="input_box"
v-model="request_params.top.success_region_min" v-model="request_params.top.success_region_min"
></el-input> ></el-input> -->
</div> </div>
<div class="centenr_container"> <div class="centenr_container">
<AnalyseModule <AnalyseModule
...@@ -646,6 +666,7 @@ export default { ...@@ -646,6 +666,7 @@ export default {
]; ];
return { return {
type: 'bar', type: 'bar',
image_id: 'changeProvinceScore_bar_chart',
chart_id: 'bar_chart', chart_id: 'bar_chart',
color: '#E6A23C', color: '#E6A23C',
title: '南方北方烟得分情况', title: '南方北方烟得分情况',
...@@ -687,6 +708,7 @@ export default { ...@@ -687,6 +708,7 @@ export default {
]; ];
return { return {
type: 'bar', type: 'bar',
image_id: 'changeProvinceScore_bar_chart',
chart_id: 'province_bar_chart', chart_id: 'province_bar_chart',
color: '#505F79', color: '#505F79',
title: '省级产区得分情况', title: '省级产区得分情况',
...@@ -714,7 +736,7 @@ export default { ...@@ -714,7 +736,7 @@ export default {
chart_id: 'breed_bar_chart', chart_id: 'breed_bar_chart',
color: '#39c183f0', color: '#39c183f0',
image_id: 'changeBreedScore_bar_chart',
title: '品种得分情况', title: '品种得分情况',
labers, labers,
keys, keys,
...@@ -922,6 +944,7 @@ export default { ...@@ -922,6 +944,7 @@ export default {
answer: datas[element].answer, answer: datas[element].answer,
wrong_num: datas[element].wrong_num, wrong_num: datas[element].wrong_num,
distribute: countOccurrences(datas[element].distribute), distribute: countOccurrences(datas[element].distribute),
distribute_student: datas[element].distribute_student,
}); });
}); });
return { return {
...@@ -955,6 +978,7 @@ export default { ...@@ -955,6 +978,7 @@ export default {
answer: datas[element].answer, answer: datas[element].answer,
wrong_num: datas[element].wrong_num, wrong_num: datas[element].wrong_num,
distribute: countOccurrences(datas[element].distribute), distribute: countOccurrences(datas[element].distribute),
distribute_student: datas[element].distribute_student,
}); });
}); });
return { return {
...@@ -988,6 +1012,7 @@ export default { ...@@ -988,6 +1012,7 @@ export default {
answer: datas[element].answer, answer: datas[element].answer,
wrong_num: datas[element].wrong_num, wrong_num: datas[element].wrong_num,
distribute: countOccurrences(datas[element].distribute), distribute: countOccurrences(datas[element].distribute),
distribute_student: datas[element].distribute_student,
}); });
}); });
return { return {
...@@ -1021,6 +1046,7 @@ export default { ...@@ -1021,6 +1046,7 @@ export default {
answer: datas[element].answer, answer: datas[element].answer,
wrong_num: datas[element].wrong_num, wrong_num: datas[element].wrong_num,
distribute: countOccurrences(datas[element].distribute), distribute: countOccurrences(datas[element].distribute),
distribute_student: datas[element].distribute_student,
}); });
}); });
return { return {
......
Markdown 格式
0% 或
您添加了 0 人 到此讨论。请谨慎行事。
请先完成此评论的编辑!
请 注册 或者 后发表评论