zhangjie 1 ano atrás
pai
commit
6346108689

+ 3 - 6
card/components/CardDesign.vue

@@ -1,11 +1,9 @@
 <template>
   <div class="card-design">
     <div class="design-header">
-      <div class="design-steps">
-        <div class="step-item" v-for="(step, index) in steps" :key="index">
-          <i>{{ index + 1 }}</i>
-          <span>{{ step }}</span>
-        </div>
+      <div class="design-back" @click="toExit">
+        <i class="el-icon-d-arrow-left" title="退出"></i>
+        返回
       </div>
     </div>
 
@@ -298,7 +296,6 @@ export default {
       TOPIC_LIST,
       NOT_TOPIC_LIST,
       topicList: [],
-      steps: ["添加标题", "基本设置", "试题配置", "预览生成"],
       columnWidth: 0,
       isSubmit: false,
       canSave: false,

+ 4 - 1
card/modules/free/components/CardFreeDesign.vue

@@ -2,13 +2,16 @@
   <div class="card-design card-free-design">
     <div class="design-header">
       <div class="design-header-cont box-justify">
-        <div></div>
         <el-button
           class="btn-help"
           icon="el-icon-question"
           type="text"
           @click="showHelp"
         ></el-button>
+        <div class="design-back" @click="toExit">
+          <i class="el-icon-d-arrow-left" title="退出"></i>
+          返回
+        </div>
       </div>
     </div>
 

+ 0 - 7
src/modules/exam/components/WaitTaskStmms.vue

@@ -27,13 +27,6 @@
           label="试卷类型"
           width="100"
         ></el-table-column>
-        <el-table-column prop="statusStr" label="状态" width="100">
-          <span
-            slot-scope="scope"
-            :class="{ 'color-danger': scope.row.status === 'INIT' }"
-            >{{ scope.row.statusStr }}</span
-          >
-        </el-table-column>
         <el-table-column
           class-name="action-column"
           label="操作"

+ 3 - 1
src/modules/stmms/components/markParam/MarkParamObjectiveAnswer.vue

@@ -68,7 +68,9 @@
             <div class="el-form-item__content">
               <el-input
                 v-model.trim="scope.row.answer"
-                placeholder="请输入答案"
+                :placeholder="
+                  scope.row.type === 3 ? 'A:正确,B:错误' : '请输入答案'
+                "
                 :maxlength="scope.row.optionCount"
                 clearable
                 @change="validateAnswer(scope.row)"

+ 17 - 4
src/modules/stmms/components/markParam/ModifyMarkParams.vue

@@ -23,6 +23,7 @@
         :key="tab.val"
         size="medium"
         :type="curTab == tab.val ? 'primary' : 'default'"
+        :disabled="!basicInfoIsSave && tab.val !== 'structure'"
         @click="selectMenu(tab.val)"
         >{{ tab.name }}
       </el-button>
@@ -41,7 +42,7 @@
 </template>
 
 <script>
-import { mapMutations } from "vuex";
+import { mapState, mapMutations } from "vuex";
 import MarkParamStructure from "./MarkParamStructure.vue";
 import MarkParamMarker from "./MarkParamMarker.vue";
 import MarkParamMarkerLeader from "./MarkParamMarkerLeader.vue";
@@ -99,6 +100,7 @@ export default {
     };
   },
   computed: {
+    ...mapState("markParam", ["markParamInfos"]),
     currentComponent() {
       return `mark-param-${this.curTab}`;
     },
@@ -111,6 +113,9 @@ export default {
     lastStep() {
       return this.tabs.length - 1;
     },
+    basicInfoIsSave() {
+      return !!this.markParamInfos.basicPaperInfo.id;
+    },
   },
   watch: {
     curTab() {
@@ -128,6 +133,11 @@ export default {
     async initData() {
       this.initStore();
 
+      const basicPaperInfo = {
+        ...this.instance,
+        openClassReading: !!this.instance.openClassReading,
+      };
+
       if (this.instance.paperInfoJson) {
         const { paperStructureInfo, groupInfo, classInfo, structureCanEdit } =
           JSON.parse(this.instance.paperInfoJson);
@@ -139,13 +149,13 @@ export default {
           ],
           groupInfo: groupInfo || [],
           classInfo: classInfo || [],
-          basicPaperInfo: this.instance,
+          basicPaperInfo,
         };
         this.setMarkParamInfos(infos);
       } else {
         const detData = await cardDetail(this.instance.cardId);
         const cardContent = JSON.parse(detData.content);
-        let infos = { basicPaperInfo: this.instance };
+        let infos = { basicPaperInfo };
         if (
           (detData.type === "GENERIC" && detData.createMethod === "STANDARD") ||
           detData.type === "CUSTOM"
@@ -176,7 +186,10 @@ export default {
       this.dataReady = true;
     },
     async updateMarkStatus() {
-      const res = await examStructureStatus(this.instance.id).catch(() => {});
+      if (!this.markParamInfos.basicPaperInfo.id) return;
+      const res = await examStructureStatus(
+        this.markParamInfos.basicPaperInfo.id
+      ).catch(() => {});
       if (!res) return;
 
       const data = JSON.parse(res);

+ 3 - 0
src/modules/stmms/components/markParam/markPaperClass.vue

@@ -124,8 +124,11 @@ export default {
     },
     initMarkerClassList() {
       let markerClassList = [];
+      let markIds = [];
       this.datas.groupInfo.forEach((group) => {
         group.markerList.forEach((marker) => {
+          if (markIds.includes(marker.id)) return;
+          markIds.push(marker.id);
           markerClassList.push({
             id: marker.id,
             loginName: marker.loginName,

+ 2 - 6
src/modules/stmms/components/markParam/store.js

@@ -56,12 +56,8 @@ const mutations = {
     state.objectiveStructure = objectiveStructure;
   },
   setMarkStatus(state, markStatus) {
-    Object.keys(state.markStatus).forEach((k) => {
-      if (markStatus[k]) {
-        Object.assign(state.markStatus[k], markStatus[k]);
-      } else {
-        state.markStatus[k] = markStatus[k];
-      }
+    Object.keys(initMarkStatus).forEach((k) => {
+      state.markStatus[k] = markStatus[k] || null;
     });
   },
   setMarkLeader(state, markLeader) {