Browse Source

提交重新审核功能

chenken 6 years ago
parent
commit
9641e9c949
2 changed files with 184 additions and 24 deletions
  1. 2 2
      src/modules/oe/views/awaitingAudit.vue
  2. 182 22
      src/modules/oe/views/examDetail.vue

+ 2 - 2
src/modules/oe/views/awaitingAudit.vue

@@ -145,8 +145,8 @@
                 </el-button>
               </el-dropdown-item>
             </el-dropdown-menu>
-          </el-dropdown></el-col
-        >
+          </el-dropdown>
+        </el-col>
       </el-row>
       <el-row class="margin-top-10">
         <el-col :span="24">

+ 182 - 22
src/modules/oe/views/examDetail.vue

@@ -224,31 +224,89 @@
               width="120"
             >
             </el-table-column>
-            <el-table-column
-              fixed="right"
-              label="详情"
-              v-if="currentPagePrivileges.EXAM_QUERY_GETPAPER"
-              width="90"
-            >
+            <el-table-column fixed="right" label="详情" width="100">
               <template slot-scope="scope">
-                <el-button
-                  v-if="scope.row.examType == 'ONLINE'"
-                  size="mini"
-                  type="primary"
-                  icon="el-icon-view"
-                  @click="examPaperDetail(scope.row.courseId, scope.row.dataId)"
-                  >调卷
-                </el-button>
-                <el-button
+                <el-row
+                  class="operateRow"
+                  v-if="
+                    scope.row.examType == 'ONLINE' &&
+                      currentPagePrivileges.EXAM_QUERY_GETPAPER
+                  "
+                >
+                  <el-col :span="24">
+                    <el-button
+                      size="mini"
+                      type="primary"
+                      icon="el-icon-view"
+                      plain
+                      @click="
+                        examPaperDetail(scope.row.courseId, scope.row.dataId)
+                      "
+                      >调卷
+                    </el-button>
+                  </el-col>
+                </el-row>
+                <el-row
+                  class="operateRow"
+                  v-if="
+                    scope.row.examType == 'ONLINE' &&
+                      currentPagePrivileges.REDO_AUDIT
+                  "
+                >
+                  <el-col :span="24">
+                    <el-dropdown>
+                      <el-button
+                        size="mini"
+                        icon="el-icon-arrow-down"
+                        type="primary"
+                        plain
+                      >
+                        重审
+                      </el-button>
+                      <el-dropdown-menu slot="dropdown">
+                        <el-dropdown-item>
+                          <el-button
+                            size="mini"
+                            type="success"
+                            @click="redoAudit(scope.row.dataId, 'pass')"
+                            icon="el-icon-success"
+                          >
+                            通 &nbsp;&nbsp;过
+                          </el-button>
+                        </el-dropdown-item>
+                        <el-dropdown-item>
+                          <el-button
+                            size="mini"
+                            type="danger"
+                            @click="redoAudit(scope.row.dataId, 'nopass')"
+                            icon="el-icon-error"
+                          >
+                            不通过
+                          </el-button>
+                        </el-dropdown-item>
+                      </el-dropdown-menu>
+                    </el-dropdown>
+                  </el-col>
+                </el-row>
+                <el-row
+                  class="operateRow"
                   v-if="
-                    scope.row.examType == 'OFFLINE' && scope.row.offlineFileUrl
+                    scope.row.examType == 'OFFLINE' &&
+                      scope.row.offlineFileUrl &&
+                      currentPagePrivileges.EXAM_QUERY_GETPAPER
                   "
-                  size="mini"
-                  type="primary"
-                  icon="el-icon-view"
-                  @click="downloadOfflineFile(scope.row.offlineFileUrl)"
-                  >调卷</el-button
                 >
+                  <el-col :span="24">
+                    <el-button
+                      size="mini"
+                      type="primary"
+                      icon="el-icon-view"
+                      plain
+                      @click="downloadOfflineFile(scope.row.offlineFileUrl)"
+                      >调卷
+                    </el-button>
+                  </el-col>
+                </el-row>
               </template>
             </el-table-column>
           </el-table>
@@ -264,6 +322,42 @@
             >
             </el-pagination></div></el-col
       ></el-row>
+      <el-dialog title="审核" :visible.sync="dialogAuditFormVisible">
+        <el-form :model="auditForm" ref="redoAuditForm">
+          <el-form-item
+            label="违纪类型"
+            prop="disciplineType"
+            :rules="[
+              { required: true, message: '请选择违纪类型', trigger: 'change' }
+            ]"
+          >
+            <el-select v-model="auditForm.disciplineType" placeholder="请选择">
+              <el-option
+                v-for="item in disciplineTypeList"
+                :key="item.name"
+                :label="item.desc"
+                :value="item.name"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="详情描述" style="margin-top:15px;">
+            <el-input
+              v-model="auditForm.disciplineDetail"
+              type="textarea"
+              :autosize="{ minRows: 6, maxRows: 10 }"
+              placeholder="请输入内容"
+            >
+            </el-input>
+          </el-form-item>
+          <div class="dialog-footer">
+            <el-button @click="dialogAuditFormVisible = false">取 消</el-button>
+            <el-button type="primary" @click="doRedoAuditNoPass"
+              >确 定</el-button
+            >
+          </div>
+        </el-form>
+      </el-dialog>
     </el-main>
   </el-container>
 </template>
@@ -317,7 +411,15 @@ export default {
       currentPagePrivileges: {
         EXAM_DETAIL_EXPORT: false, //导出
         SNAPSHOT_DETAILS: false, //详情查看
-        EXAM_QUERY_GETPAPER: false //调卷
+        EXAM_QUERY_GETPAPER: false, //调卷
+        REDO_AUDIT: false //重新审核
+      },
+      dialogAuditFormVisible: false,
+      auditForm: {
+        examRecordDataId: null,
+        disciplineType: "",
+        disciplineDetail: "",
+        isPass: null
       }
     };
   },
@@ -421,6 +523,61 @@ export default {
     downloadOfflineFile(url) {
       window.open(url);
     },
+    redoAudit(examRecordDataId, isPass) {
+      if (isPass != "pass") {
+        this.dialogAuditFormVisible = true;
+        this.auditForm.examRecordDataId = examRecordDataId;
+      } else {
+        //审核通过
+        var redoAuditInfo = {
+          examRecordDataIds: [examRecordDataId],
+          isPass: true,
+          disciplineType: "",
+          disciplineDetail: ""
+        };
+        this.$http
+          .post("/api/ecs_oe_admin/exam/audit/redoAudit", redoAuditInfo)
+          .then(() => {
+            this.$notify({
+              title: "成功",
+              message: "操作成功",
+              type: "success"
+            });
+            this.search();
+          });
+      }
+    },
+    doRedoAuditNoPass() {
+      this.$refs["redoAuditForm"].validate(valid => {
+        if (valid) {
+          var redoAuditInfo = {
+            examRecordDataIds: [this.auditForm.examRecordDataId],
+            isPass: false,
+            disciplineType: this.auditForm.disciplineType,
+            disciplineDetail: this.auditForm.disciplineDetail
+          };
+          this.$http
+            .post("/api/ecs_oe_admin/exam/audit/redoAudit", redoAuditInfo)
+            .then(() => {
+              this.$notify({
+                title: "成功",
+                message: "操作成功",
+                type: "success"
+              });
+              this.auditForm = {
+                examRecordDataId: null,
+                disciplineType: "",
+                disciplineDetail: "",
+                isPass: null
+              };
+              this.dialogAuditFormVisible = false;
+              this.search();
+            });
+        } else {
+          return false;
+        }
+      });
+    },
     backFill() {
       var formData = this.$route.query;
       if (formData && formData.examId) {
@@ -460,5 +617,8 @@ export default {
   cursor: pointer;
   color: #409eff;
 }
+.operateRow {
+  margin-top: 2px;
+}
 </style>
 <style scoped src="../style/common.css"></style>