|
@@ -169,6 +169,38 @@
|
|
@click="exportData"
|
|
@click="exportData"
|
|
>导出</el-button
|
|
>导出</el-button
|
|
>
|
|
>
|
|
|
|
+ <el-dropdown
|
|
|
|
+ v-show="currentPagePrivileges.ALREADY_AUDITED_REDO_AUDIT"
|
|
|
|
+ >
|
|
|
|
+ <el-button
|
|
|
|
+ style="margin-left: 10px"
|
|
|
|
+ icon="el-icon-arrow-down"
|
|
|
|
+ type="primary"
|
|
|
|
+ :disabled="noBatchSelected"
|
|
|
|
+ size="small"
|
|
|
|
+ >重审</el-button
|
|
|
|
+ >
|
|
|
|
+ <el-dropdown-menu slot="dropdown">
|
|
|
|
+ <el-dropdown-item>
|
|
|
|
+ <el-button
|
|
|
|
+ size="mini"
|
|
|
|
+ type="success"
|
|
|
|
+ icon="el-icon-success"
|
|
|
|
+ @click="redoAuditBatch('pass')"
|
|
|
|
+ >通 过</el-button
|
|
|
|
+ >
|
|
|
|
+ </el-dropdown-item>
|
|
|
|
+ <el-dropdown-item>
|
|
|
|
+ <el-button
|
|
|
|
+ size="mini"
|
|
|
|
+ type="danger"
|
|
|
|
+ icon="el-icon-error"
|
|
|
|
+ @click="redoAuditBatch('nopass')"
|
|
|
|
+ >不通过</el-button
|
|
|
|
+ >
|
|
|
|
+ </el-dropdown-item>
|
|
|
|
+ </el-dropdown-menu>
|
|
|
|
+ </el-dropdown>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
<el-row class="margin-top-10">
|
|
<el-row class="margin-top-10">
|
|
@@ -181,6 +213,7 @@
|
|
border
|
|
border
|
|
@selection-change="handleSelectionChange"
|
|
@selection-change="handleSelectionChange"
|
|
>
|
|
>
|
|
|
|
+ <el-table-column type="selection" width="40"></el-table-column>
|
|
<el-table-column label="考试ID">
|
|
<el-table-column label="考试ID">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
<el-button
|
|
<el-button
|
|
@@ -309,6 +342,53 @@
|
|
</div>
|
|
</div>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
|
|
+ <el-dialog
|
|
|
|
+ title="审核"
|
|
|
|
+ :visible.sync="dialogAuditFormVisible"
|
|
|
|
+ @closed="auditDialogClosed"
|
|
|
|
+ >
|
|
|
|
+ <el-form ref="redoAuditForm" :model="auditForm">
|
|
|
|
+ <el-form-item
|
|
|
|
+ label="违纪类型"
|
|
|
|
+ prop="illegallyTypeId"
|
|
|
|
+ :rules="[
|
|
|
|
+ { required: true, message: '请选择违纪类型', trigger: 'change' },
|
|
|
|
+ ]"
|
|
|
|
+ >
|
|
|
|
+ <el-select
|
|
|
|
+ v-model="auditForm.illegallyTypeId"
|
|
|
|
+ filterable
|
|
|
|
+ remote
|
|
|
|
+ :remote-method="getDisciplineTypeList"
|
|
|
|
+ clearable
|
|
|
|
+ placeholder="请选择"
|
|
|
|
+ size="small"
|
|
|
|
+ @clear="getDisciplineTypeList"
|
|
|
|
+ >
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in disciplineTypeList"
|
|
|
|
+ :key="item.id"
|
|
|
|
+ :label="item.name"
|
|
|
|
+ :value="item.id"
|
|
|
|
+ ></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 margin-top-10 text-center">
|
|
|
|
+ <el-button type="primary" @click="doRedoAuditNoPass"
|
|
|
|
+ >确 定</el-button
|
|
|
|
+ >
|
|
|
|
+ <el-button @click="dialogAuditFormVisible = false">取 消</el-button>
|
|
|
|
+ </div>
|
|
|
|
+ </el-form>
|
|
|
|
+ </el-dialog>
|
|
</el-main>
|
|
</el-main>
|
|
</el-container>
|
|
</el-container>
|
|
</template>
|
|
</template>
|
|
@@ -368,16 +448,36 @@ export default {
|
|
currentPagePrivileges: {
|
|
currentPagePrivileges: {
|
|
INVIGILATE_AUDIT_STATUS: false, //数据状态
|
|
INVIGILATE_AUDIT_STATUS: false, //数据状态
|
|
SNAPSHOT_DETAILS: false, //详情查看
|
|
SNAPSHOT_DETAILS: false, //详情查看
|
|
|
|
+ ALREADY_AUDITED_REDO_AUDIT: false, //重新审核
|
|
},
|
|
},
|
|
getPermissionStatus: false, //获取权限状态
|
|
getPermissionStatus: false, //获取权限状态
|
|
disciplineTypeList: [],
|
|
disciplineTypeList: [],
|
|
startExamDatetimeRange: [],
|
|
startExamDatetimeRange: [],
|
|
endExamDatetimeRange: [],
|
|
endExamDatetimeRange: [],
|
|
auditExamDatetimeRange: [],
|
|
auditExamDatetimeRange: [],
|
|
|
|
+ isOnlineExam: false,
|
|
|
|
+ dialogAuditFormVisible: false,
|
|
|
|
+ selectedIds: [],
|
|
|
|
+ auditForm: {
|
|
|
|
+ examRecordDataIds: [],
|
|
|
|
+ illegallyTypeId: null,
|
|
|
|
+ disciplineDetail: "",
|
|
|
|
+ isPass: null,
|
|
|
|
+ },
|
|
};
|
|
};
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
...mapState({ user: (state) => state.user }),
|
|
...mapState({ user: (state) => state.user }),
|
|
|
|
+ noBatchSelected() {
|
|
|
|
+ if (!this.isOnlineExam) {
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+ if (this.selectedIds.length === 0) {
|
|
|
|
+ return true;
|
|
|
|
+ } else {
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ },
|
|
},
|
|
},
|
|
watch: {
|
|
watch: {
|
|
//监控权限是否获取完成
|
|
//监控权限是否获取完成
|
|
@@ -396,6 +496,91 @@ export default {
|
|
this.getDisciplineTypeList("");
|
|
this.getDisciplineTypeList("");
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
|
|
+ doRedoAuditNoPass() {
|
|
|
|
+ this.$refs["redoAuditForm"].validate((valid) => {
|
|
|
|
+ if (valid) {
|
|
|
|
+ var redoAuditInfo = {
|
|
|
|
+ examRecordDataIds: this.auditForm.examRecordDataIds,
|
|
|
|
+ isPass: false,
|
|
|
|
+ illegallyTypeId: this.auditForm.illegallyTypeId,
|
|
|
|
+ disciplineDetail: this.auditForm.disciplineDetail,
|
|
|
|
+ };
|
|
|
|
+ this.$http
|
|
|
|
+ .post("/api/ecs_oe_admin/exam/audit/redoAudit", redoAuditInfo)
|
|
|
|
+ .then(() => {
|
|
|
|
+ this.$notify({
|
|
|
|
+ title: "成功",
|
|
|
|
+ message: "操作成功",
|
|
|
|
+ type: "success",
|
|
|
|
+ });
|
|
|
|
+ this.doRedoAuditNoPassPostProcess();
|
|
|
|
+ this.search();
|
|
|
|
+ })
|
|
|
|
+ .catch((res) => {
|
|
|
|
+ var errorMsg = "操作失败";
|
|
|
|
+ if (res.response && res.response.data) {
|
|
|
|
+ errorMsg = res.response.data.desc;
|
|
|
|
+ }
|
|
|
|
+ this.doRedoAuditNoPassPostProcess();
|
|
|
|
+ this.$notify({
|
|
|
|
+ title: "提示",
|
|
|
|
+ message: errorMsg,
|
|
|
|
+ type: "error",
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+ } else {
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+ doRedoAuditNoPassPostProcess() {
|
|
|
|
+ this.auditForm = {
|
|
|
|
+ examRecordDataId: null,
|
|
|
|
+ illegallyTypeId: null,
|
|
|
|
+ disciplineDetail: "",
|
|
|
|
+ isPass: null,
|
|
|
|
+ };
|
|
|
|
+ this.$refs["redoAuditForm"].resetFields();
|
|
|
|
+ this.dialogAuditFormVisible = false;
|
|
|
|
+ },
|
|
|
|
+ auditDialogClosed() {
|
|
|
|
+ this.$refs["redoAuditForm"].resetFields();
|
|
|
|
+ },
|
|
|
|
+ redoAuditBatch(isPass) {
|
|
|
|
+ this.auditForm.examRecordDataIds = this.selectedIds;
|
|
|
|
+ if (isPass != "pass") {
|
|
|
|
+ this.dialogAuditFormVisible = true;
|
|
|
|
+ } else {
|
|
|
|
+ //审核通过
|
|
|
|
+ var redoAuditInfo = {
|
|
|
|
+ examRecordDataIds: this.auditForm.examRecordDataIds,
|
|
|
|
+ isPass: true,
|
|
|
|
+ illegallyTypeId: null,
|
|
|
|
+ disciplineDetail: "",
|
|
|
|
+ };
|
|
|
|
+ this.$http
|
|
|
|
+ .post("/api/ecs_oe_admin/exam/audit/redoAudit", redoAuditInfo)
|
|
|
|
+ .then(() => {
|
|
|
|
+ this.$notify({
|
|
|
|
+ title: "成功",
|
|
|
|
+ message: "操作成功",
|
|
|
|
+ type: "success",
|
|
|
|
+ });
|
|
|
|
+ this.search();
|
|
|
|
+ })
|
|
|
|
+ .catch((res) => {
|
|
|
|
+ var errorMsg = "操作失败";
|
|
|
|
+ if (res.response && res.response.data) {
|
|
|
|
+ errorMsg = res.response.data.desc;
|
|
|
|
+ }
|
|
|
|
+ this.$notify({
|
|
|
|
+ title: "提示",
|
|
|
|
+ message: errorMsg,
|
|
|
|
+ type: "error",
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ },
|
|
resetForm() {
|
|
resetForm() {
|
|
this.form = {
|
|
this.form = {
|
|
examRecordDataId: null,
|
|
examRecordDataId: null,
|
|
@@ -478,8 +663,16 @@ export default {
|
|
selectable(row) {
|
|
selectable(row) {
|
|
return row.isWarn;
|
|
return row.isWarn;
|
|
},
|
|
},
|
|
- handleSelectionChange(val) {
|
|
|
|
- this.multipleSelection = val;
|
|
|
|
|
|
+ handleSelectionChange(row) {
|
|
|
|
+ this.selectedIds = [];
|
|
|
|
+ row.forEach((element) => {
|
|
|
|
+ if (element.examType == "ONLINE") {
|
|
|
|
+ this.isOnlineExam = true;
|
|
|
|
+ } else {
|
|
|
|
+ this.isOnlineExam = false;
|
|
|
|
+ }
|
|
|
|
+ this.selectedIds.push(element.examRecordDataId);
|
|
|
|
+ });
|
|
},
|
|
},
|
|
/**
|
|
/**
|
|
* pagesize改变时触发
|
|
* pagesize改变时触发
|