|
@@ -30,11 +30,15 @@
|
|
<el-row :gutter="2">
|
|
<el-row :gutter="2">
|
|
<el-col :span="10" class="chart-border">
|
|
<el-col :span="10" class="chart-border">
|
|
<div class="chart-header">考试进度情况</div>
|
|
<div class="chart-header">考试进度情况</div>
|
|
- <div><v-chart :options="pieOptions" /></div>
|
|
|
|
|
|
+ <div>
|
|
|
|
+ <v-chart :options="pieOptions" />
|
|
|
|
+ </div>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="14" class="chart-border">
|
|
<el-col :span="14" class="chart-border">
|
|
<div class="chart-header">课程完成进度TOP5</div>
|
|
<div class="chart-header">课程完成进度TOP5</div>
|
|
- <div><v-chart :options="lineOptions" /></div>
|
|
|
|
|
|
+ <div>
|
|
|
|
+ <v-chart :options="lineOptions" />
|
|
|
|
+ </div>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
<el-row style="margin-top:10px;">
|
|
<el-row style="margin-top:10px;">
|
|
@@ -64,6 +68,23 @@
|
|
></el-option>
|
|
></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
+ <el-form-item>
|
|
|
|
+ <el-button
|
|
|
|
+ type="primary"
|
|
|
|
+ size="small"
|
|
|
|
+ icon="el-icon-download"
|
|
|
|
+ @click="exportOrg"
|
|
|
|
+ v-show="!exportOrgLoading"
|
|
|
|
+ >导出</el-button
|
|
|
|
+ >
|
|
|
|
+ <el-button
|
|
|
|
+ size="small"
|
|
|
|
+ icon="el-icon-download"
|
|
|
|
+ :loading="true"
|
|
|
|
+ v-show="exportOrgLoading"
|
|
|
|
+ >导出数据中...</el-button
|
|
|
|
+ >
|
|
|
|
+ </el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="24">
|
|
<el-col :span="24">
|
|
@@ -126,6 +147,23 @@
|
|
></el-option>
|
|
></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
+ <el-form-item>
|
|
|
|
+ <el-button
|
|
|
|
+ type="primary"
|
|
|
|
+ size="small"
|
|
|
|
+ icon="el-icon-download"
|
|
|
|
+ @click="exportCourse"
|
|
|
|
+ v-show="!exportCourseLoading"
|
|
|
|
+ >导出</el-button
|
|
|
|
+ >
|
|
|
|
+ <el-button
|
|
|
|
+ size="small"
|
|
|
|
+ icon="el-icon-download"
|
|
|
|
+ :loading="true"
|
|
|
|
+ v-show="exportCourseLoading"
|
|
|
|
+ >导出数据中...</el-button
|
|
|
|
+ >
|
|
|
|
+ </el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="24">
|
|
<el-col :span="24">
|
|
@@ -194,7 +232,9 @@ export default {
|
|
orgExamInfos: [],
|
|
orgExamInfos: [],
|
|
courseProgressList: [],
|
|
courseProgressList: [],
|
|
lineOptions: {},
|
|
lineOptions: {},
|
|
- pieOptions: {}
|
|
|
|
|
|
+ pieOptions: {},
|
|
|
|
+ exportOrgLoading: false,
|
|
|
|
+ exportCourseLoading: false
|
|
};
|
|
};
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
@@ -481,6 +521,62 @@ export default {
|
|
let p1 = Number(obj1.finishedPercent);
|
|
let p1 = Number(obj1.finishedPercent);
|
|
let p2 = Number(obj2.finishedPercent);
|
|
let p2 = Number(obj2.finishedPercent);
|
|
return p1 - p2;
|
|
return p1 - p2;
|
|
|
|
+ },
|
|
|
|
+ exportOrg() {
|
|
|
|
+ this.exportOrgLoading = true;
|
|
|
|
+ this.$http
|
|
|
|
+ .get("/api/ecs_oe_admin/exam/student/statistic/by/org/export", {
|
|
|
|
+ params: {
|
|
|
|
+ examId: this.examId,
|
|
|
|
+ orgId: this.orgId
|
|
|
|
+ },
|
|
|
|
+ responseType: "arraybuffer",
|
|
|
|
+ timeout: 20 * 60 * 1000 //限时20分钟
|
|
|
|
+ })
|
|
|
|
+ .then(response => {
|
|
|
|
+ if (response.data) {
|
|
|
|
+ var blob = new Blob([response.data], {
|
|
|
|
+ type:
|
|
|
|
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
|
|
|
+ });
|
|
|
|
+ var url = URL.createObjectURL(blob);
|
|
|
|
+ var a = document.createElement("a");
|
|
|
|
+ a.href = url;
|
|
|
|
+ a.download = "学习中心完成进度.xlsx";
|
|
|
|
+ a.target = "_blank";
|
|
|
|
+ a.click();
|
|
|
|
+ URL.revokeObjectURL(url);
|
|
|
|
+ }
|
|
|
|
+ this.exportOrgLoading = false;
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+ exportCourse() {
|
|
|
|
+ this.exportCourseLoading = true;
|
|
|
|
+ this.$http
|
|
|
|
+ .get("/api/ecs_oe_admin/exam/student/courseProgress/list/export", {
|
|
|
|
+ params: {
|
|
|
|
+ examId: this.examId,
|
|
|
|
+ courseId: this.courseId
|
|
|
|
+ },
|
|
|
|
+ responseType: "arraybuffer",
|
|
|
|
+ timeout: 20 * 60 * 1000 //限时20分钟
|
|
|
|
+ })
|
|
|
|
+ .then(response => {
|
|
|
|
+ if (response.data) {
|
|
|
|
+ var blob = new Blob([response.data], {
|
|
|
|
+ type:
|
|
|
|
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
|
|
|
+ });
|
|
|
|
+ var url = URL.createObjectURL(blob);
|
|
|
|
+ var a = document.createElement("a");
|
|
|
|
+ a.href = url;
|
|
|
|
+ a.download = "课程完成进度.xlsx";
|
|
|
|
+ a.target = "_blank";
|
|
|
|
+ a.click();
|
|
|
|
+ URL.revokeObjectURL(url);
|
|
|
|
+ }
|
|
|
|
+ this.exportCourseLoading = false;
|
|
|
|
+ });
|
|
}
|
|
}
|
|
},
|
|
},
|
|
created() {
|
|
created() {
|