|
@@ -207,11 +207,13 @@
|
|
|
{{ exportModel.courseCode }}
|
|
|
</el-form-item>
|
|
|
<el-form-item label="导出内容">
|
|
|
- <el-checkbox-group v-model="exportModel.exportContentList">
|
|
|
- <el-checkbox label="PAPER">试卷</el-checkbox>
|
|
|
- <el-checkbox label="ANSWER">答案</el-checkbox>
|
|
|
- <!-- <el-checkbox label="THEMIS_PACKAGE">数据包</el-checkbox> -->
|
|
|
- </el-checkbox-group>
|
|
|
+ <el-radio-group
|
|
|
+ v-model="exportModel.exportContent"
|
|
|
+ @change="getTemplates('')"
|
|
|
+ >
|
|
|
+ <el-radio label="PAPER">试卷</el-radio>
|
|
|
+ <el-radio label="ANSWER">答案</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
</el-form-item>
|
|
|
<el-form-item v-if="showSeqMode" label="小题序号">
|
|
|
<el-radio-group v-model="exportModel.seqMode" class="input">
|
|
@@ -221,6 +223,25 @@
|
|
|
<el-radio label="MODE5">整卷连续</el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item v-if="showSeqMode" label="模板">
|
|
|
+ <el-select
|
|
|
+ v-model="exportModel.templateId"
|
|
|
+ filterable
|
|
|
+ :remote-method="getTemplates"
|
|
|
+ remote
|
|
|
+ clearable
|
|
|
+ placeholder="请选择"
|
|
|
+ @clear="getTemplates('')"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in templateList"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.fileName"
|
|
|
+ :value="item.id"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
</el-form>
|
|
|
<div slot="footer">
|
|
|
<el-button type="primary" @click="exportPaperInfo">开始导出</el-button>
|
|
@@ -243,6 +264,7 @@ import { QUESTION_API } from "@/constants/constants";
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
|
+ templateList: [],
|
|
|
courseLoading: false,
|
|
|
formSearch: {
|
|
|
courseId: "",
|
|
@@ -263,7 +285,8 @@ export default {
|
|
|
id: "",
|
|
|
courseCode: "",
|
|
|
courseName: "",
|
|
|
- exportContentList: [],
|
|
|
+ templateId: "",
|
|
|
+ exportContent: "",
|
|
|
seqMode: "MODE1",
|
|
|
},
|
|
|
};
|
|
@@ -288,8 +311,8 @@ export default {
|
|
|
},
|
|
|
showSeqMode() {
|
|
|
return (
|
|
|
- this.exportModel.exportContentList.includes("PAPER") ||
|
|
|
- this.exportModel.exportContentList.includes("ANSWER")
|
|
|
+ this.exportModel.exportContent == "PAPER" ||
|
|
|
+ this.exportModel.exportContent == "ANSWER"
|
|
|
);
|
|
|
},
|
|
|
...mapState({ user: (state) => state.user }),
|
|
@@ -298,6 +321,27 @@ export default {
|
|
|
this.initData();
|
|
|
},
|
|
|
methods: {
|
|
|
+ getTemplates(name) {
|
|
|
+ this.exportModel.templateId = "";
|
|
|
+ var url = QUESTION_API + "/exportTemplate/page/1/20";
|
|
|
+ let type;
|
|
|
+ if (this.exportModel.exportContent == "PAPER") {
|
|
|
+ type = "SYNTHESIZE_PAPER_EXPORT";
|
|
|
+ } else if (this.exportModel.exportContent == "ANSWER") {
|
|
|
+ type = "SYNTHESIZE_ANSWER_EXPORT";
|
|
|
+ } else {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ let params = {
|
|
|
+ rootOrgId: this.user.rootOrgId,
|
|
|
+ fileName: name,
|
|
|
+ enable: true,
|
|
|
+ type: type,
|
|
|
+ };
|
|
|
+ this.$httpWithMsg.get(url, { params: params }).then((response) => {
|
|
|
+ this.templateList = response.data.content;
|
|
|
+ });
|
|
|
+ },
|
|
|
async getCourses(query) {
|
|
|
this.courseLoading = true;
|
|
|
query = query && query.trim();
|
|
@@ -376,7 +420,8 @@ export default {
|
|
|
this.exportModel.id = row.id;
|
|
|
this.exportModel.courseCode = row.courseCode;
|
|
|
this.exportModel.courseName = row.courseName;
|
|
|
- this.exportModel.exportContentList = [];
|
|
|
+ this.exportModel.exportContent = "";
|
|
|
+ this.exportModel.templateId = "";
|
|
|
|
|
|
this.exportDialog = true;
|
|
|
},
|
|
@@ -430,31 +475,46 @@ export default {
|
|
|
id: "",
|
|
|
courseCode: "",
|
|
|
courseName: "",
|
|
|
- exportContentList: [],
|
|
|
+ exportContent: "",
|
|
|
seqMode: "MODE1",
|
|
|
};
|
|
|
this.exportDialog = true;
|
|
|
},
|
|
|
//导出试卷,答案,机考数据包
|
|
|
async exportPaperInfo() {
|
|
|
- if (!this.exportModel.exportContentList.length) {
|
|
|
+ if (
|
|
|
+ !this.exportModel.exportContent ||
|
|
|
+ this.exportModel.exportContent == ""
|
|
|
+ ) {
|
|
|
this.$notify({
|
|
|
message: "请选择导出内容",
|
|
|
type: "error",
|
|
|
});
|
|
|
return false;
|
|
|
}
|
|
|
+ let element = this.exportModel.exportContent;
|
|
|
+ if (
|
|
|
+ (element == "PAPER" || element == "ANSWER") &&
|
|
|
+ !this.exportModel.templateId
|
|
|
+ ) {
|
|
|
+ this.$notify({
|
|
|
+ message: "请选择模板",
|
|
|
+ type: "error",
|
|
|
+ });
|
|
|
+ return false;
|
|
|
+ }
|
|
|
|
|
|
let synthesizePaperIds =
|
|
|
this.selectedPaperIds.join() || this.exportModel.id;
|
|
|
- const exportContentList = this.exportModel.exportContentList.join();
|
|
|
+ const exportContent = this.exportModel.exportContent;
|
|
|
this.exportDialog = false;
|
|
|
|
|
|
const res = await downloadByApi(() => {
|
|
|
return synthesizePaperDownloadApi({
|
|
|
- exportContentList,
|
|
|
+ exportContent,
|
|
|
synthesizePaperIds,
|
|
|
seqMode: this.exportModel.seqMode,
|
|
|
+ templateId: this.exportModel.templateId,
|
|
|
});
|
|
|
}).catch((e) => {
|
|
|
this.$message.error(e || "下载失败,请重新尝试!");
|