Pārlūkot izejas kodu

feat: 锁定试卷的限制

zhangjie 1 mēnesi atpakaļ
vecāks
revīzija
fdf6efd564
1 mainītis faili ar 79 papildinājumiem un 63 dzēšanām
  1. 79 63
      src/modules/paper/views/EditPaper.vue

+ 79 - 63
src/modules/paper/views/EditPaper.vue

@@ -30,6 +30,7 @@
                   size="mini"
                   class="header-info-input"
                   placeholder="试卷名称"
+                  :disabled="locked"
                 ></el-input>
               </el-tooltip>
             </span>
@@ -44,6 +45,7 @@
                   size="mini"
                   class="header-info-input"
                   placeholder="试卷标题"
+                  :disabled="locked"
                 ></el-input>
               </el-tooltip>
             </span>
@@ -54,23 +56,6 @@
           </div>
         </div>
         <div class="header-btns">
-          <el-dropdown trigger="click" @command="importCommand">
-            <div class="avatar-wrapper">
-              <el-button>
-                导入
-                <i class="el-icon-arrow-down" />
-              </el-button>
-            </div>
-            <el-dropdown-menu slot="dropdown" class="user-dropdown">
-              <el-dropdown-item command="answer">
-                <span>导入答案</span>
-              </el-dropdown-item>
-              <el-dropdown-item command="property">
-                <span>导入知识点</span>
-              </el-dropdown-item>
-            </el-dropdown-menu>
-          </el-dropdown>
-
           <el-button
             v-if="checkDuplicateBtnShow"
             type="primary"
@@ -85,11 +70,17 @@
             size="small"
             plain
             class="maintain"
+            :disabled="locked"
             @click="toDeletePaper(paper.id)"
           >
             删除
           </el-button>
-          <el-button type="primary" size="small" @click="toSavePaper">
+          <el-button
+            type="primary"
+            size="small"
+            :disabled="locked"
+            @click="toSavePaper"
+          >
             保存
           </el-button>
           <!-- <el-button
@@ -121,6 +112,7 @@
           <el-button
             size="small"
             icon="el-icon-circle-plus"
+            :disabled="locked"
             @click="addBigQuestion"
           >
             新增大题
@@ -134,6 +126,7 @@
               authButtons.includes('exam_paper_manager-edit_card')
             "
             size="small"
+            :disabled="locked"
             @click="toEditCard"
           >
             编辑题卡
@@ -147,22 +140,29 @@
             type="danger"
             size="small"
             class="maintain"
+            :disabled="locked"
             @click="toDeletCard"
           >
             清除题卡
           </el-button>
         </div>
         <div>
+          <el-button size="small" @click="importCommand('answer')">
+            导入答案
+          </el-button>
+          <el-button size="small" @click="importCommand('property')">
+            导入知识点
+          </el-button>
           <el-button size="small" @click="toViewLog">试卷修改记录</el-button>
           <el-button name="shenhejilu" @click="toViewAuditInfo"
             >审核记录</el-button
           >
           <el-button name="yulan" @click="previewPDF2">生成试卷</el-button>
-          <el-button
+          <!-- <el-button
             name="shuxingyincangxianshi"
             @click="toSwitchQuesTagShowHide"
             >{{ (quesTagShow ? "隐藏" : "显示") + "属性" }}</el-button
-          >
+          > -->
           <el-button
             name="daochu"
             :disabled="downloading"
@@ -213,6 +213,7 @@
                   color="#6D5FF6"
                   hoverBgColor="#F0EFFE"
                   class="hover-show"
+                  :disabled="locked"
                   @click="toEditExamRemark"
                   style="margin-left: 10px"
                   >编辑</svg-btn
@@ -258,19 +259,23 @@
                 共{{ paperDetail.unitCount }}小题,满分{{ paperDetail.score }}分
               </div>
               <div class="gray-btn-group">
-                <span @click="toSelectPaperDetailQues(paperDetail)">选题</span>
-                <span @click="toEditPaperDetail(paperDetail)">编辑</span>
-                <span
-                  v-if="detailIndex"
-                  @click="toMovePaperDetail(paperDetail, 'up')"
-                  >上移</span
-                >
-                <span
-                  v-if="detailIndex < paper.paperDetails.length - 1"
-                  @click="toMovePaperDetail(paperDetail, 'down')"
-                  >下移</span
-                >
-                <span @click="toDeletePaperDetail(paperDetail)">删除</span>
+                <template v-if="!locked">
+                  <span @click="toSelectPaperDetailQues(paperDetail)"
+                    >选题</span
+                  >
+                  <span @click="toEditPaperDetail(paperDetail)">编辑</span>
+                  <span
+                    v-if="detailIndex"
+                    @click="toMovePaperDetail(paperDetail, 'up')"
+                    >上移</span
+                  >
+                  <span
+                    v-if="detailIndex < paper.paperDetails.length - 1"
+                    @click="toMovePaperDetail(paperDetail, 'down')"
+                    >下移</span
+                  >
+                  <span @click="toDeletePaperDetail(paperDetail)">删除</span>
+                </template>
                 <span
                   @click.stop="
                     paperDetail.showQuestions = !paperDetail.showQuestions
@@ -394,35 +399,43 @@
                 <div class="level2-hover-show">
                   <div class="box-justify">
                     <div class="gray-btn-group">
-                      <span
-                        v-if="
-                          paperDetailUnit.question.checkDuplicateStatus ===
-                          'TO_BE_DISPOSE'
-                        "
-                        @click="
-                          toCheckDuplicateQuestion(paperDetailUnit.question.id)
-                        "
-                        >进入查重</span
-                      >
-                      <span @click="toChangeQues(paperDetailUnit)">换题</span>
-                      <span @click="toEditQues(paperDetailUnit)">编辑</span>
-                      <span
-                        v-if="unitIndex"
-                        @click="
-                          toMoveQues(paperDetail.id, paperDetailUnit.id, 'up')
-                        "
-                        >上移</span
-                      >
-                      <span
-                        v-if="
-                          unitIndex < paperDetail.paperDetailUnits.length - 1
-                        "
-                        @click="
-                          toMoveQues(paperDetail.id, paperDetailUnit.id, 'down')
-                        "
-                        >下移</span
-                      >
-                      <span @click="toDeleteQues(paperDetailUnit)">删除</span>
+                      <template v-if="!locked">
+                        <span
+                          v-if="
+                            paperDetailUnit.question.checkDuplicateStatus ===
+                            'TO_BE_DISPOSE'
+                          "
+                          @click="
+                            toCheckDuplicateQuestion(
+                              paperDetailUnit.question.id
+                            )
+                          "
+                          >进入查重</span
+                        >
+                        <span @click="toChangeQues(paperDetailUnit)">换题</span>
+                        <span @click="toEditQues(paperDetailUnit)">编辑</span>
+                        <span
+                          v-if="unitIndex"
+                          @click="
+                            toMoveQues(paperDetail.id, paperDetailUnit.id, 'up')
+                          "
+                          >上移</span
+                        >
+                        <span
+                          v-if="
+                            unitIndex < paperDetail.paperDetailUnits.length - 1
+                          "
+                          @click="
+                            toMoveQues(
+                              paperDetail.id,
+                              paperDetailUnit.id,
+                              'down'
+                            )
+                          "
+                          >下移</span
+                        >
+                        <span @click="toDeleteQues(paperDetailUnit)">删除</span>
+                      </template>
                       <span
                         v-if="isNested(paperDetailUnit.questionType)"
                         @click="
@@ -884,6 +897,9 @@ export default {
     enableCardEdit() {
       return this.paper.auditStatus === "PASS";
     },
+    locked() {
+      return !this.paper.locks;
+    },
     ...mapGetters(["authButtons"]),
   },
   created() {
@@ -1441,7 +1457,7 @@ export default {
       height: 32px;
       border-radius: 6px;
       background: #f2f3f5;
-      display: flex;
+      display: inline-flex;
       align-items: center;
       & > span {
         color: #8c8c8c;