|
@@ -496,6 +496,13 @@
|
|
:question="curQuestion"
|
|
:question="curQuestion"
|
|
@modified="questionEdited"
|
|
@modified="questionEdited"
|
|
></question-edit-dialog>
|
|
></question-edit-dialog>
|
|
|
|
+ <!-- SelectQuestionDialog -->
|
|
|
|
+ <select-question-dialog
|
|
|
|
+ ref="SelectQuestionDialog"
|
|
|
|
+ :course-id="paper.course.id"
|
|
|
|
+ :disabled-question-ids="paperQuestionIds"
|
|
|
|
+ @confirm="questionSelected"
|
|
|
|
+ ></select-question-dialog>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
@@ -511,6 +518,7 @@ import {
|
|
paperQuestionDeleteApi,
|
|
paperQuestionDeleteApi,
|
|
paperQuestionUnitDeleteApi,
|
|
paperQuestionUnitDeleteApi,
|
|
paperQuestionSaveApi,
|
|
paperQuestionSaveApi,
|
|
|
|
+ paperDetailAddQuestionApi,
|
|
} from "../api";
|
|
} from "../api";
|
|
import { QUESTION_API } from "@/constants/constants";
|
|
import { QUESTION_API } from "@/constants/constants";
|
|
|
|
|
|
@@ -522,6 +530,7 @@ import PaperAuditInfo from "../components/PaperAuditInfo.vue";
|
|
import ModifyDetailStruct from "../components/ModifyDetailStruct.vue";
|
|
import ModifyDetailStruct from "../components/ModifyDetailStruct.vue";
|
|
import ModifyRichText from "@/components/ModifyRichText.vue";
|
|
import ModifyRichText from "@/components/ModifyRichText.vue";
|
|
import QuestionEditDialog from "../../question/components/QuestionEditDialog.vue";
|
|
import QuestionEditDialog from "../../question/components/QuestionEditDialog.vue";
|
|
|
|
+import SelectQuestionDialog from "../components/SelectQuestionDialog.vue";
|
|
import { calcSum } from "@/plugins/utils";
|
|
import { calcSum } from "@/plugins/utils";
|
|
|
|
|
|
export default {
|
|
export default {
|
|
@@ -535,6 +544,7 @@ export default {
|
|
ModifyRichText,
|
|
ModifyRichText,
|
|
QuestionEditDialog,
|
|
QuestionEditDialog,
|
|
ImportFileDialog,
|
|
ImportFileDialog,
|
|
|
|
+ SelectQuestionDialog,
|
|
},
|
|
},
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
@@ -545,6 +555,7 @@ export default {
|
|
title: "",
|
|
title: "",
|
|
totalScore: 0,
|
|
totalScore: 0,
|
|
course: {
|
|
course: {
|
|
|
|
+ id: "",
|
|
code: "",
|
|
code: "",
|
|
name: "",
|
|
name: "",
|
|
},
|
|
},
|
|
@@ -556,6 +567,7 @@ export default {
|
|
quesAnswerShow: false,
|
|
quesAnswerShow: false,
|
|
curDetail: {},
|
|
curDetail: {},
|
|
curQuestion: {},
|
|
curQuestion: {},
|
|
|
|
+ paperQuestionIds: [],
|
|
// upload answer
|
|
// upload answer
|
|
uploadAnswerUrl: "",
|
|
uploadAnswerUrl: "",
|
|
answerTemplateUrl: "",
|
|
answerTemplateUrl: "",
|
|
@@ -711,19 +723,36 @@ export default {
|
|
this.paper.examRemark = content;
|
|
this.paper.examRemark = content;
|
|
this.toSavePaper();
|
|
this.toSavePaper();
|
|
},
|
|
},
|
|
|
|
+ getPaperQuestionIds() {
|
|
|
|
+ let ids = [];
|
|
|
|
+ this.paper.paperDetails.forEach((detail) => {
|
|
|
|
+ let qids = detail.paperDetailUnits.map((q) => q.question.id);
|
|
|
|
+ ids.push(...qids);
|
|
|
|
+ });
|
|
|
|
+ return ids;
|
|
|
|
+ },
|
|
// detail-action
|
|
// detail-action
|
|
|
|
+ // 大题选题
|
|
toSelectPaperDetailQues(detail) {
|
|
toSelectPaperDetailQues(detail) {
|
|
- this.$router.push({
|
|
|
|
- path:
|
|
|
|
- "/select_question/" +
|
|
|
|
- this.paper.id +
|
|
|
|
- "/" +
|
|
|
|
- this.paper.course.id +
|
|
|
|
- "/" +
|
|
|
|
- detail.id +
|
|
|
|
- "/" +
|
|
|
|
- this.parentView,
|
|
|
|
- });
|
|
|
|
|
|
+ this.curDetail = detail;
|
|
|
|
+ this.paperQuestionIds = this.getPaperQuestionIds();
|
|
|
|
+ this.$refs.SelectQuestionDialog.open();
|
|
|
|
+ },
|
|
|
|
+ async questionSelected(questions) {
|
|
|
|
+ if (!questions.length) {
|
|
|
|
+ this.$message.error("请选择试题!");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ const res = await paperDetailAddQuestionApi(
|
|
|
|
+ this.paperId,
|
|
|
|
+ this.curDetail.id,
|
|
|
|
+ questions
|
|
|
|
+ ).catch(() => {});
|
|
|
|
+ if (!res) return;
|
|
|
|
+
|
|
|
|
+ this.$message.success("添加成功!");
|
|
|
|
+ this.initPaper();
|
|
},
|
|
},
|
|
// 大题编辑
|
|
// 大题编辑
|
|
toEditPaperDetail(detail) {
|
|
toEditPaperDetail(detail) {
|
|
@@ -815,6 +844,7 @@ export default {
|
|
},
|
|
},
|
|
});
|
|
});
|
|
},
|
|
},
|
|
|
|
+ // 编辑小题
|
|
toEditQues(row) {
|
|
toEditQues(row) {
|
|
let question = row.question;
|
|
let question = row.question;
|
|
const courseInfo = {
|
|
const courseInfo = {
|