|
|
@@ -1,6 +1,7 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
<page-header
|
|
|
+ :loading="fetchLoading"
|
|
|
:routes="[
|
|
|
{ name: '互评作业', path: 'review' },
|
|
|
{ name: '文档详情', path: `review/${$route.params.reviewId}` },
|
|
|
@@ -19,7 +20,8 @@
|
|
|
<page-body>
|
|
|
<div class="columns">
|
|
|
<div class="column is-8">
|
|
|
- <div class="page-section">
|
|
|
+ <div v-if="fetchLoading"><page-section-loading show /></div>
|
|
|
+ <div v-else class="page-section">
|
|
|
<div v-if="detail.docContent" class="content">
|
|
|
<vue-markdown>{{ detail.docContent }}</vue-markdown>
|
|
|
</div>
|
|
|
@@ -27,19 +29,22 @@
|
|
|
</div>
|
|
|
<div class="column is-4">
|
|
|
<div class="right-part">
|
|
|
- <div
|
|
|
- class="button is-medium is-primary action-button"
|
|
|
- :class="{ 'is-loading': submitLoading }"
|
|
|
- @click="submitCheckList"
|
|
|
- >
|
|
|
- 提 交
|
|
|
+ <div v-if="fetchLoading"><page-section-loading show /></div>
|
|
|
+ <div v-else>
|
|
|
+ <div
|
|
|
+ class="button is-medium is-primary action-button"
|
|
|
+ :class="{ 'is-loading': submitLoading }"
|
|
|
+ @click="submitCheckList"
|
|
|
+ >
|
|
|
+ 提 交
|
|
|
+ </div>
|
|
|
+ <check-list
|
|
|
+ v-model="detail.checkList"
|
|
|
+ @submit-solution="submitSolution"
|
|
|
+ @accept-argue="acceptArgue"
|
|
|
+ @refuse-argue="refuseArgue"
|
|
|
+ />
|
|
|
</div>
|
|
|
- <check-list
|
|
|
- v-model="detail.checkList"
|
|
|
- @submit-solution="submitSolution"
|
|
|
- @accept-argue="acceptArgue"
|
|
|
- @refuse-argue="refuseArgue"
|
|
|
- />
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -59,8 +64,10 @@ import {
|
|
|
import timeMixins from "@/mixins/time";
|
|
|
import ReviewStateTag from "@/components/ReviewStateTag/index";
|
|
|
import CheckList from "@/components/CheckList/index";
|
|
|
+import PageSectionLoading from "@/components/PageBody/PageSectionLoading/index";
|
|
|
export default {
|
|
|
components: {
|
|
|
+ PageSectionLoading,
|
|
|
CheckList,
|
|
|
ReviewStateTag,
|
|
|
PageBody,
|
|
|
@@ -73,15 +80,18 @@ export default {
|
|
|
review: {},
|
|
|
checkList: []
|
|
|
},
|
|
|
- submitLoading: false
|
|
|
+ submitLoading: false,
|
|
|
+ fetchLoading: false
|
|
|
};
|
|
|
},
|
|
|
mixins: [timeMixins],
|
|
|
mounted() {
|
|
|
const { reviewId, docReviewId } = this.$route.params;
|
|
|
- getStudentReviewDocDetail(reviewId, docReviewId).then(
|
|
|
- resp => (this.detail = resp.data)
|
|
|
- );
|
|
|
+ this.fetchLoading = true;
|
|
|
+ getStudentReviewDocDetail(reviewId, docReviewId).then(resp => {
|
|
|
+ this.detail = resp.data;
|
|
|
+ this.fetchLoading = false;
|
|
|
+ });
|
|
|
},
|
|
|
methods: {
|
|
|
submitCheckList() {
|