Explorar o código

试卷新增发布按钮

zhangjie %!s(int64=3) %!d(string=hai) anos
pai
achega
01954bbb6d

+ 8 - 2
src/modules/analysis/api.js

@@ -56,8 +56,14 @@ export const analysisBatchPaperList = datas => {
 export const addAnalysisBatchPaper = datas => {
   return $post("/api/admin/grade/batch/paper/save", datas);
 };
-export const deleteAnalysisBatchPaper = idList => {
-  return $postParam("/api/admin/grade/batch/paper/delete", { idList });
+export const deleteAnalysisBatchPaper = (batchId, idList) => {
+  return $postParam("/api/admin/grade/batch/paper/delete", { batchId, idList });
+};
+export const analysisBatchPaperPublish = (batchId, gradeBatchPaperId) => {
+  return $postParam("/api/admin/grade/batch/paper/publish", {
+    batchId,
+    gradeBatchPaperId
+  });
 };
 export const analysisPaperList = datas => {
   return $postParam("/api/admin/grade/batch/paper/able", datas);

+ 35 - 8
src/modules/analysis/components/ModifyAnalysisBatchPaper.vue

@@ -31,9 +31,7 @@
           </el-form-item>
         </el-form>
         <div class="part-box-action">
-          <el-button type="danger" :loading="loading" @click="toBatchDelete"
-            >批量删除</el-button
-          >
+          <el-button type="danger" @click="toBatchDelete">批量删除</el-button>
           <el-button type="primary" @click="toAdd">添加分析试卷</el-button>
         </div>
       </div>
@@ -61,6 +59,11 @@
           </el-table-column>
           <el-table-column prop="teacherName" label="命题老师">
           </el-table-column>
+          <el-table-column prop="pulishStatus" label="发布状态">
+            <template slot-scope="scope">
+              <span>{{ scope.row.pulishStatus ? "已发布" : "未发布" }}</span>
+            </template>
+          </el-table-column>
           <el-table-column
             class-name="action-column"
             label="操作"
@@ -68,10 +71,16 @@
             align="center"
           >
             <template slot-scope="scope">
+              <el-button
+                v-if="scope.row.status === 'FINISH_CALCULATE'"
+                class="btn-primary"
+                type="text"
+                @click="toPublish(scope.row)"
+                >发布</el-button
+              >
               <el-button
                 class="btn-danger"
                 type="text"
-                :disabled="loading"
                 @click="toDelete(scope.row)"
                 >删除</el-button
               >
@@ -103,7 +112,11 @@
 </template>
 
 <script>
-import { analysisBatchPaperList, deleteAnalysisBatchPaper } from "../api";
+import {
+  analysisBatchPaperList,
+  deleteAnalysisBatchPaper,
+  analysisBatchPaperPublish
+} from "../api";
 import SelectAnalysisPaper from "./SelectAnalysisPaper.vue";
 
 export default {
@@ -181,7 +194,7 @@ export default {
     },
     async toBatchDelete() {
       if (!this.multipleSelection.length) {
-        this.$message.error("请选择要删除的批次!");
+        this.$message.error("请选择要删除的试卷!");
         return;
       }
 
@@ -190,10 +203,24 @@ export default {
       }).catch(() => {});
       if (confirm !== "confirm") return;
 
-      await deleteAnalysisBatchPaper(this.multipleSelection);
+      await deleteAnalysisBatchPaper(this.instance.id, this.multipleSelection);
       this.$message.success("删除成功!");
       this.deletePageLastItem();
     },
+    async toPublish(row) {
+      const confirm = await this.$confirm(
+        `确定要发布试卷【${row.paperNumber}】吗?`,
+        "提示",
+        {
+          type: "warning"
+        }
+      ).catch(() => {});
+      if (confirm !== "confirm") return;
+
+      await analysisBatchPaperPublish(this.instance.id, row.id);
+      this.$message.success("发布成功!");
+      this.getList();
+    },
     async toDelete(row) {
       const confirm = await this.$confirm(
         `确定要删除试卷【${row.paperNumber}】吗?`,
@@ -204,7 +231,7 @@ export default {
       ).catch(() => {});
       if (confirm !== "confirm") return;
 
-      await deleteAnalysisBatchPaper([row.id]);
+      await deleteAnalysisBatchPaper(this.instance.id, [row.id]);
       this.$message.success("删除成功!");
       this.deletePageLastItem();
     }