|
@@ -205,10 +205,12 @@
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<!-- 试题预览 -->
|
|
<!-- 试题预览 -->
|
|
- <question-preview
|
|
|
|
- ref="QuestionPreview"
|
|
|
|
- :ques-model="quesModel"
|
|
|
|
- ></question-preview>
|
|
|
|
|
|
+ <question-preview-dialog
|
|
|
|
+ ref="QuestionPreviewDialog"
|
|
|
|
+ :list-info="listInfo"
|
|
|
|
+ :fetchPage="handleCurrentChange"
|
|
|
|
+ show-switch
|
|
|
|
+ ></question-preview-dialog>
|
|
|
|
|
|
<!-- <el-dialog title="提示" :visible.sync="deleteDialogVisible" append-to-body>
|
|
<!-- <el-dialog title="提示" :visible.sync="deleteDialogVisible" append-to-body>
|
|
<span>{{ deleteInfo }}</span>
|
|
<span>{{ deleteInfo }}</span>
|
|
@@ -223,10 +225,10 @@
|
|
<script>
|
|
<script>
|
|
import { QUESTION_API } from "@/constants/constants";
|
|
import { QUESTION_API } from "@/constants/constants";
|
|
import { mapState } from "vuex";
|
|
import { mapState } from "vuex";
|
|
-import QuestionPreview from "./QuestionPreview";
|
|
|
|
|
|
+import QuestionPreviewDialog from "../../question/components/QuestionPreviewDialog.vue";
|
|
|
|
|
|
export default {
|
|
export default {
|
|
- components: { QuestionPreview },
|
|
|
|
|
|
+ components: { QuestionPreviewDialog },
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
selectedQuesIds: [],
|
|
selectedQuesIds: [],
|
|
@@ -242,6 +244,7 @@ export default {
|
|
currentPage: 1,
|
|
currentPage: 1,
|
|
pageSize: 10,
|
|
pageSize: 10,
|
|
total: 10,
|
|
total: 10,
|
|
|
|
+ totalPages: 0,
|
|
quesModel: {},
|
|
quesModel: {},
|
|
questionTypes: [],
|
|
questionTypes: [],
|
|
quesDialog: false,
|
|
quesDialog: false,
|
|
@@ -251,6 +254,7 @@ export default {
|
|
singleRightAnswer: "", //接收单选答案
|
|
singleRightAnswer: "", //接收单选答案
|
|
multipleRightAnswer: [], //接收多选答案
|
|
multipleRightAnswer: [], //接收多选答案
|
|
isClear: 0,
|
|
isClear: 0,
|
|
|
|
+ curQuestionIndex: 0,
|
|
};
|
|
};
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
@@ -277,6 +281,14 @@ export default {
|
|
noBatchSelected() {
|
|
noBatchSelected() {
|
|
return this.selectedQuesIds.length === 0;
|
|
return this.selectedQuesIds.length === 0;
|
|
},
|
|
},
|
|
|
|
+ listInfo() {
|
|
|
|
+ return {
|
|
|
|
+ dataList: this.tableData,
|
|
|
|
+ curIndex: this.curQuestionIndex,
|
|
|
|
+ pageNumber: this.currentPage,
|
|
|
|
+ totalPages: this.totalPages,
|
|
|
|
+ };
|
|
|
|
+ },
|
|
},
|
|
},
|
|
watch: {
|
|
watch: {
|
|
$route: "initVue",
|
|
$route: "initVue",
|
|
@@ -379,7 +391,7 @@ export default {
|
|
this.currentPage = 1;
|
|
this.currentPage = 1;
|
|
this.searchQues();
|
|
this.searchQues();
|
|
},
|
|
},
|
|
- searchQues() {
|
|
|
|
|
|
+ async searchQues() {
|
|
var pageNo = this.currentPage || 1;
|
|
var pageNo = this.currentPage || 1;
|
|
this.currentPage = 1;
|
|
this.currentPage = 1;
|
|
this.tableData = [];
|
|
this.tableData = [];
|
|
@@ -390,17 +402,21 @@ export default {
|
|
"/" +
|
|
"/" +
|
|
this.pageSize;
|
|
this.pageSize;
|
|
this.loading = true;
|
|
this.loading = true;
|
|
- this.$http.get(url, { params: this.formSearch }).then((response) => {
|
|
|
|
- this.tableData = response.data.content;
|
|
|
|
- this.currentPage = response.data.number;
|
|
|
|
- this.total = response.data.totalElements;
|
|
|
|
- this.loading = false;
|
|
|
|
- });
|
|
|
|
|
|
+ const res = await this.$http
|
|
|
|
+ .get(url, { params: this.formSearch })
|
|
|
|
+ .catch(() => {});
|
|
|
|
+ this.loading = false;
|
|
|
|
+ if (!res) return;
|
|
|
|
+
|
|
|
|
+ this.tableData = res.data.content;
|
|
|
|
+ this.currentPage = res.data.number;
|
|
|
|
+ this.total = res.data.totalElements;
|
|
|
|
+ this.totalPages = res.data.totalPages;
|
|
},
|
|
},
|
|
//分页
|
|
//分页
|
|
- handleCurrentChange(val) {
|
|
|
|
|
|
+ async handleCurrentChange(val) {
|
|
this.currentPage = val;
|
|
this.currentPage = val;
|
|
- this.searchQues();
|
|
|
|
|
|
+ await this.searchQues();
|
|
},
|
|
},
|
|
handleSizeChange(val) {
|
|
handleSizeChange(val) {
|
|
this.pageSize = val;
|
|
this.pageSize = val;
|
|
@@ -428,9 +444,8 @@ export default {
|
|
},
|
|
},
|
|
//预览
|
|
//预览
|
|
prevViewQues(row) {
|
|
prevViewQues(row) {
|
|
- this.quesModel = row;
|
|
|
|
- this.disposeSelectAnswer();
|
|
|
|
- this.$refs.QuestionPreview.open();
|
|
|
|
|
|
+ this.curQuestionIndex = this.tableData.findIndex((q) => q.id === row.id);
|
|
|
|
+ this.$refs.QuestionPreviewDialog.open();
|
|
},
|
|
},
|
|
//查询所有课程
|
|
//查询所有课程
|
|
getCourses(query) {
|
|
getCourses(query) {
|