|
@@ -3,32 +3,11 @@
|
|
<div class="part-box part-box-filter">
|
|
<div class="part-box part-box-filter">
|
|
<el-form ref="FilterForm" label-position="left" inline>
|
|
<el-form ref="FilterForm" label-position="left" inline>
|
|
<template v-if="checkPrivilege('condition', 'condition')">
|
|
<template v-if="checkPrivilege('condition', 'condition')">
|
|
- <el-form-item label="学期:">
|
|
|
|
- <semester-select
|
|
|
|
- v-model="filter.semesterId"
|
|
|
|
- default-select
|
|
|
|
- :clearable="false"
|
|
|
|
- ></semester-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="考试:">
|
|
|
|
- <exam-select
|
|
|
|
- v-model="filter.examId"
|
|
|
|
- :semester-id="filter.semesterId"
|
|
|
|
- default-select
|
|
|
|
- :clearable="false"
|
|
|
|
- @default-selected="toPage(1)"
|
|
|
|
- ></exam-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="课程:">
|
|
|
|
- <course-select
|
|
|
|
- v-model="filter.courseId"
|
|
|
|
- placeholder="课程"
|
|
|
|
- filterable
|
|
|
|
- clearable
|
|
|
|
- :semester-id="filter.semesterId"
|
|
|
|
- :exam-id="filter.examId"
|
|
|
|
- ></course-select>
|
|
|
|
- </el-form-item>
|
|
|
|
|
|
+ <secp-select
|
|
|
|
+ v-model="filter"
|
|
|
|
+ defaultSelectExam
|
|
|
|
+ @exam-default="search"
|
|
|
|
+ ></secp-select>
|
|
</template>
|
|
</template>
|
|
<el-form-item label-width="0px">
|
|
<el-form-item label-width="0px">
|
|
<el-button
|
|
<el-button
|
|
@@ -39,6 +18,23 @@
|
|
>
|
|
>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
|
|
+
|
|
|
|
+ <div class="part-box-action">
|
|
|
|
+ <el-button
|
|
|
|
+ v-if="checkPrivilege('button', 'ObjectiveCalculate')"
|
|
|
|
+ type="primary"
|
|
|
|
+ :loading="loading"
|
|
|
|
+ @click="exportTotalAnalysis"
|
|
|
|
+ >总量分析</el-button
|
|
|
|
+ >
|
|
|
|
+ <el-button
|
|
|
|
+ v-if="checkPrivilege('button', 'ObjectiveCalculate')"
|
|
|
|
+ type="primary"
|
|
|
|
+ :loading="loading"
|
|
|
|
+ @click="batchAnalysisReport"
|
|
|
|
+ >批量下载分析报告</el-button
|
|
|
|
+ >
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="part-box part-box-pad">
|
|
<div class="part-box part-box-pad">
|
|
@@ -164,8 +160,13 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
-import { scoreListPage } from "../api";
|
|
|
|
|
|
+import {
|
|
|
|
+ scoreListPage,
|
|
|
|
+ scoreTotalAnalysisDownload,
|
|
|
|
+ scoreAllAnalysisReportDownload,
|
|
|
|
+} from "../api";
|
|
import ScoreClassDetail from "../components/ScoreClassDetail.vue";
|
|
import ScoreClassDetail from "../components/ScoreClassDetail.vue";
|
|
|
|
+import { downloadByApi } from "@/plugins/download";
|
|
|
|
|
|
export default {
|
|
export default {
|
|
name: "score-manage",
|
|
name: "score-manage",
|
|
@@ -176,6 +177,7 @@ export default {
|
|
semesterId: "",
|
|
semesterId: "",
|
|
examId: "",
|
|
examId: "",
|
|
courseId: "",
|
|
courseId: "",
|
|
|
|
+ openCollegeId: "",
|
|
},
|
|
},
|
|
current: 1,
|
|
current: 1,
|
|
size: this.GLOBAL.pageSize,
|
|
size: this.GLOBAL.pageSize,
|
|
@@ -200,6 +202,9 @@ export default {
|
|
this.current = page;
|
|
this.current = page;
|
|
this.getList();
|
|
this.getList();
|
|
},
|
|
},
|
|
|
|
+ search() {
|
|
|
|
+ this.toPage(1);
|
|
|
|
+ },
|
|
toClass(row) {
|
|
toClass(row) {
|
|
this.curRow = row;
|
|
this.curRow = row;
|
|
this.$refs.ScoreClassDetail.open();
|
|
this.$refs.ScoreClassDetail.open();
|
|
@@ -207,6 +212,34 @@ export default {
|
|
toMarkManage() {
|
|
toMarkManage() {
|
|
this.$router.push({ name: "MarkManage" });
|
|
this.$router.push({ name: "MarkManage" });
|
|
},
|
|
},
|
|
|
|
+ async exportTotalAnalysis() {
|
|
|
|
+ if (this.downloading) return;
|
|
|
|
+ this.downloading = true;
|
|
|
|
+
|
|
|
|
+ const res = await downloadByApi(() => {
|
|
|
|
+ return scoreTotalAnalysisDownload(this.filter);
|
|
|
|
+ }).catch((e) => {
|
|
|
|
+ this.$message.error(e || "下载失败,请重新尝试!");
|
|
|
|
+ });
|
|
|
|
+ this.downloading = false;
|
|
|
|
+
|
|
|
|
+ if (!res) return;
|
|
|
|
+ this.$message.success("下载成功!");
|
|
|
|
+ },
|
|
|
|
+ async batchAnalysisReport() {
|
|
|
|
+ if (this.downloading) return;
|
|
|
|
+ this.downloading = true;
|
|
|
|
+
|
|
|
|
+ const res = await downloadByApi(() => {
|
|
|
|
+ return scoreAllAnalysisReportDownload(this.filter);
|
|
|
|
+ }).catch((e) => {
|
|
|
|
+ this.$message.error(e || "下载失败,请重新尝试!");
|
|
|
|
+ });
|
|
|
|
+ this.downloading = false;
|
|
|
|
+
|
|
|
|
+ if (!res) return;
|
|
|
|
+ this.$message.success("下载成功!");
|
|
|
|
+ },
|
|
},
|
|
},
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|