zhangjie 3 年之前
父節點
當前提交
1792aa3bb8

+ 0 - 6
src/constants/enumerate.js

@@ -237,12 +237,6 @@ export const PRINT_PDF_TYPE = {
 // stmms
 export const MARK_TASK_SYNC_STATUS = {
   INIT: "未同步",
-  UPLOAD_FINISH: "同步中", // 开始同步
-  START_SYNC: "同步中", // 开始同步
-  PAPER_FINISH: "同步中", // 试卷同步成功
-  ANSWER_FINISH: "同步中", // 标答同步成功
-  OBJECTIVE_FINISH: "同步中", // 客观题结构同步成功
-  SUBJECTIVE_FINISH: "同步中", // 主观题结构同步成功
   FINISH: "已同步"
 };
 export const STMMS_SYNC_TYPE = {

+ 1 - 0
src/modules/exam/views/ExamTaskManage.vue

@@ -135,6 +135,7 @@
         ></el-table-column>
         <el-table-column prop="semesterName" label="学期"></el-table-column>
         <el-table-column prop="examName" label="考试"></el-table-column>
+        <el-table-column prop="sequence" label="序号"></el-table-column>
         <el-table-column prop="paperNumber" label="试卷编号"></el-table-column>
         <el-table-column prop="courseName" label="课程(代码)">
           <template slot-scope="scope">

+ 51 - 4
src/modules/stmms/views/SyncManage.vue

@@ -13,6 +13,16 @@
               ></el-option>
             </el-select>
           </el-form-item>
+          <el-form-item label="同步状态:">
+            <el-select v-model="filter.status" placeholder="同步状态" clearable>
+              <el-option
+                v-for="(val, key) in STMMS_SYNC_STATUS"
+                :key="key"
+                :value="key"
+                :label="val"
+              ></el-option>
+            </el-select>
+          </el-form-item>
           <el-form-item label="同步结果:">
             <el-select
               v-model="filter.result"
@@ -48,16 +58,42 @@
           width="70"
           :index="indexMethod"
         ></el-table-column>
+        <el-table-column
+          prop="thirdRelateId"
+          label="云阅卷考试ID"
+          width="110"
+        ></el-table-column>
+        <el-table-column prop="objectId" label="同步对象ID"></el-table-column>
         <el-table-column prop="type" label="类别"></el-table-column>
-        <el-table-column prop="status" label="状态"> </el-table-column>
-        <el-table-column prop="resultStr" label="结果" width="100">
+        <el-table-column prop="status" label="状态" width="100">
+        </el-table-column>
+        <el-table-column prop="resultStr" label="结果" width="80">
+          <template slot-scope="scope">
+            <el-popover
+              v-if="scope.row.result === 'ERROR'"
+              placement="left-start"
+              popper-class="answer-popover"
+              width="310"
+              trigger="hover"
+            >
+              <p>{{ scope.row.errorMessage }}</p>
+              <span class="color-danger" slot="reference">{{
+                scope.row.resultStr
+              }}</span>
+            </el-popover>
+            <p v-else class="color-success">{{ scope.row.resultStr }}</p>
+          </template>
         </el-table-column>
         <el-table-column prop="createTime" label="创建时间" width="180">
           <span slot-scope="scope">{{
             scope.row.createTime | timestampFilter
           }}</span>
         </el-table-column>
-        <el-table-column prop="createName" label="创建人"></el-table-column>
+        <el-table-column
+          prop="createName"
+          label="创建人"
+          width="140"
+        ></el-table-column>
         <el-table-column class-name="action-column" label="操作" width="100">
           <template slot-scope="scope">
             <el-button
@@ -106,10 +142,12 @@ export default {
   data() {
     return {
       STMMS_SYNC_TYPE: {},
+      STMMS_SYNC_STATUS: {},
       DATA_TASK_RESULT,
       filter: {
         result: "",
-        type: ""
+        type: "",
+        status: ""
       },
       current: 1,
       size: this.GLOBAL.pageSize,
@@ -120,6 +158,7 @@ export default {
   },
   created() {
     this.getSyncTypes();
+    this.getSyncStatus();
     this.getList();
   },
   methods: {
@@ -131,6 +170,14 @@ export default {
         this.STMMS_SYNC_TYPE[item.name] = item.desc;
       });
     },
+    async getSyncStatus() {
+      const res = await enumsByType("TB_TASK_STATUS");
+      const data = res || [];
+      this.STMMS_SYNC_STATUS = {};
+      data.forEach(item => {
+        this.STMMS_SYNC_STATUS[item.name] = item.desc;
+      });
+    },
     async getList() {
       if (!this.checkPrivilege("list", "list")) return;
 

+ 11 - 3
src/modules/stmms/views/UploadStructure.vue

@@ -25,10 +25,13 @@
     </div>
     <div class="part-box part-box-pad">
       <el-table ref="TableList" :data="dataList">
-        <el-table-column prop="thirdRelateId" label="考试ID"></el-table-column>
+        <el-table-column
+          prop="thirdRelateId"
+          label="云阅卷考试ID"
+        ></el-table-column>
         <el-table-column
           prop="thirdRelateName"
-          label="考试名称"
+          label="云阅卷考试名称"
         ></el-table-column>
         <el-table-column prop="courseName" label="课程(代码)">
           <span slot-scope="scope">
@@ -53,6 +56,9 @@
             <el-button
               class="btn-primary"
               type="text"
+              :disabled="
+                !scope.row.paperInfoJson || scope.row.status !== 'FINISH'
+              "
               @click="toSetAnswer(scope.row)"
               >设置客观题标答</el-button
             >
@@ -60,7 +66,9 @@
               v-if="checkPrivilege('link', 'Upload')"
               class="btn-primary"
               type="text"
-              :disabled="!scope.row.paperInfoJson"
+              :disabled="
+                !scope.row.paperInfoJson || scope.row.status !== 'FINISH'
+              "
               @click="toUpload(scope.row)"
               >上传标答文件</el-button
             >

+ 1 - 1
src/plugins/filters.js

@@ -82,7 +82,7 @@ Vue.filter("flowTaskNameFilter", function(val) {
   return val ? val.replace(/\(.+?\)/g, "") : DEFAULT_FIELD;
 });
 Vue.filter("markTaskSyncStatusFilter", function(val) {
-  return MARK_TASK_SYNC_STATUS[val] || DEFAULT_FIELD;
+  return MARK_TASK_SYNC_STATUS[val] || "失败";
 });
 Vue.filter("stmmsSyncTypeFilter", function(val) {
   return STMMS_SYNC_TYPE[val] || DEFAULT_FIELD;