浏览代码

同步和推送

zhangjie 2 年之前
父节点
当前提交
322f6c3aa5

+ 11 - 2
src/api/examwork-exam.js

@@ -128,6 +128,15 @@ export function getExamRoom() {
 export function reCalcExam(examId) {
   return httpApp.post("/api/admin/exam/score/calculate?id=" + examId);
 }
-export function syncCloudMarkExam(datas) {
-  return httpApp.post("/api/admin/exam/cloud_mark/score/sync", datas);
+export function syncCloudMarkExam(data) {
+  return httpApp.post(
+    "/api/admin/exam/cloud_mark/score/sync?" + object2QueryString(data),
+    {}
+  );
+}
+export function pushCloudMarkExam(data) {
+  return httpApp.post(
+    "/api/admin/exam/cloud_mark/push/data?" + object2QueryString(data),
+    {}
+  );
 }

+ 2 - 0
src/constant/constants.js

@@ -147,6 +147,8 @@ export const IMPORT_EXPORT_TASKS = [
   { code: "EXPORT_EXAM_STUDENT", name: "导出考生" },
   { code: "EXPORT_MARK_RESULT_SIMPLE", name: "导出成绩简版" },
   { code: "EXPORT_MARK_RESULT_STANDARD", name: "导出成绩标准版" },
+  { code: "CLOUD_MARK_SCORE_SYNC", name: "云阅卷考生成绩同步" },
+  { code: "CLOUD_MARK_DATA_PUSH", name: "云阅卷考试数据推送" },
 ];
 
 export const ACTIVITY_AUDIO_TYPE = {

+ 11 - 12
src/features/examwork/ExamManagement/ExamManagement.vue

@@ -86,7 +86,7 @@
           scope.row.updateTime | datetimeFilter
         }}</span>
       </el-table-column>
-      <el-table-column :context="_self" label="操作" width="210" fixed="right">
+      <el-table-column :context="_self" label="操作" width="220" fixed="right">
         <div slot-scope="scope">
           <el-button
             size="mini"
@@ -99,6 +99,13 @@
           <el-button size="mini" type="primary" plain @click="edit(scope.row)">
             编辑
           </el-button>
+          <el-button
+            size="mini"
+            type="primary"
+            plain
+            @click="pushExam(scope.row)"
+            >推送</el-button
+          >
           <div class="mb-2"></div>
           <el-button
             size="mini"
@@ -127,13 +134,6 @@
               }}
             </el-button>
           </el-badge>
-          <!-- <el-button
-            size="mini"
-            type="primary"
-            plain
-            @click="syncExam(scope.row)"
-            >同步</el-button
-          > -->
         </div>
       </el-table-column>
     </el-table>
@@ -160,7 +160,7 @@ import {
   searchExams,
   toggleEnableExam,
   reCalcExam,
-  syncCloudMarkExam,
+  pushCloudMarkExam,
 } from "@/api/examwork-exam";
 import CopyExamDialog from "./CopyExamDialog";
 
@@ -282,10 +282,9 @@ export default {
         })
         .catch(() => {});
     },
-    async syncExam(exam) {
-      await syncCloudMarkExam({
+    async pushExam(exam) {
+      await pushCloudMarkExam({
         examId: exam.id,
-        yunMarkExamId: exam.yunMarkExamId,
       });
       this.$message.success("操作成功!");
     },

+ 16 - 0
src/features/examwork/MarkResultManagement/MarkResultManagement.vue

@@ -49,6 +49,10 @@
                 <el-dropdown-item command="standard">标准版</el-dropdown-item>
               </el-dropdown-menu>
             </el-dropdown>
+
+            <el-button type="success" :disabled="!form.examId" @click="syncExam"
+              >同步</el-button
+            >
           </el-form-item>
         </el-form>
       </div>
@@ -119,6 +123,7 @@
 
 <script>
 import { searchMarkResult, exportMarkResult } from "@/api/examwork-markresult";
+import { syncCloudMarkExam } from "@/api/examwork-exam";
 export default {
   name: "MarkResultManagement",
   data() {
@@ -191,6 +196,17 @@ export default {
       });
       this.$notify({ title: "导入任务已成功启动", type: "success" });
     },
+    async syncExam() {
+      if (!this.form.examId) {
+        this.$message.error("请先选择批次!");
+        return;
+      }
+
+      await syncCloudMarkExam({
+        examId: this.form.examId,
+      });
+      this.$message.success("操作成功!");
+    },
   },
 };
 </script>