From 2a3bad7a886e8e0271663e74ec47d651edd18308 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Tue, 10 Aug 2021 17:36:09 +0800
Subject: [PATCH] 考试报名修改
---
src/views/applyexam/index.vue | 300 +++++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 245 insertions(+), 55 deletions(-)
diff --git a/src/views/applyexam/index.vue b/src/views/applyexam/index.vue
index c7c9488..2472e7d 100644
--- a/src/views/applyexam/index.vue
+++ b/src/views/applyexam/index.vue
@@ -57,13 +57,33 @@
@click="questionBankHandleDelete">删 除
</el-button>
</template> -->
+ <!-- 自定义按钮 -->
+ <template slot="menuLeft">
+ <el-button
+ type="primary"
+ size="small"
+ plain
+ icon="el-icon-folder-checked"
+ @click="handleBatchExam"
+ v-if="examPersission"
+ >生成考试
+ </el-button>
+ <el-button
+ type="primary"
+ size="small"
+ plain
+ icon="el-icon-folder-checked"
+ @click="handleImport"
+ >清册导入
+ </el-button>
+ </template>
<template slot-scope="{ type, row }" slot="menu">
<el-button
:type="type"
size="small"
icon="el-icon-refresh-left"
- :disabled="row.applyStatus == 4"
+ :disabled="row.isApply == 2"
@click="handleCancel(row)"
>取消报名
</el-button>
@@ -101,6 +121,43 @@
@reset-change="emptytChange"
@submit="submit"
></avue-form>
+
+ </el-dialog>
+
+ <el-dialog
+ title="清册数据导入"
+ append-to-body
+ :visible.sync="excelBox"
+ width="555px"
+ >
+ <avue-form
+ :option="excelOption"
+ v-model="excelForm"
+ :upload-after="uploadAfter"
+ >
+ <template slot="excelTemplate">
+ <el-button type="primary" @click="handleTemplate">
+ 点击下载<i class="el-icon-download el-icon--right"></i>
+ </el-button>
+ </template>
+ </avue-form>
+ </el-dialog>
+
+
+ <el-dialog
+ title="考试生成"
+ append-to-body
+ :visible.sync="dialogExamFormVisible"
+ width="1000px"
+ @close='closeDialog'
+ >
+ <avue-form
+ ref="formExamApply"
+ v-model="examApply"
+ :option="optionExamApply"
+ @reset-change="emptytChange"
+ @submit="submitExamApply"
+ ></avue-form>
</el-dialog>
</div>
</el-card>
@@ -114,6 +171,7 @@
addApply,
updateApply,
remove,
+ addExam
} from "@/api/examapi/applyexam";
import { mapState } from "vuex";
@@ -134,7 +192,37 @@
data() {
return {
dialogFormVisible: false,
+ dialogExamFormVisible: false,
+ examPersission:false,
+ applyExport:false,
+ excelBox:false,
Audit: {},
+ excelForm: {},
+ excelOption: {
+ submitBtn: false,
+ emptyBtn: false,
+ column: [
+ {
+ label: "模板上传",
+ prop: "excelFile",
+ type: "upload",
+ drag: true,
+ loadText: "模板上传中,请稍等",
+ span: 24,
+ propsHttp: {
+ res: "data",
+ },
+ tip: "请上传 .xls,.xlsx 标准格式文件",
+ action: "/api/apply/import-apply",
+ },
+ {
+ label: "模板下载",
+ prop: "excelTemplate",
+ formslot: true,
+ span: 24,
+ },
+ ],
+ },
optionAudit: {
height: "auto",
calcHeight: 30,
@@ -188,16 +276,64 @@
},
],
},
+ optionExamApply: {
+ height: "auto",
+ filterBtn: true,
+ calcHeight: 30,
+ dialogWidth: 950,
+ tip: false,
+ searchShow: true,
+ searchMenuSpan: 6,
+ border: false,
+ index: true,
+ stripe: true,
+ viewBtn: true,
+ selection: true,
+ excelBtn: false,
+ menuWidth: 380,
+ dialogClickModal: false,
+ column: [
+ {
+ label: "考试时间",
+ prop: "examTime",
+ type: "daterange",
+ format: "yyyy-MM-dd HH:mm:ss",
+ valueFormat: "yyyy-MM-dd HH:mm:ss",
+ startPlaceholder: "考试开始时间",
+ endPlaceholder: "考试结束时间",
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: true,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: false,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ rules: [
+ {
+ required: true,
+ message: "请选择考试时间",
+ trigger: "blur",
+ },
+ ],
+ span: 24,
+ },
+ ],
+ },
questionBankOption: {
// 操作栏多余按钮去除
delBtn: false,
editBtn: false,
- addBtn: true,
+ addBtn: false,
selection: true,
menu: true,
// 导出按钮
// excelBtn: true,
- viewBtn: false,
+ viewBtn: true,
// title: '题库',
@@ -214,7 +350,7 @@
//tree 默认展开
defaultExpandAll: true,
// 操作栏宽度
- menuWidth: 200,
+ menuWidth: 300,
column: [
{
@@ -222,7 +358,6 @@
prop: "userId",
type: "tree",
dicUrl: "",
- search: true,
hide: true,
slot: true,
searchSpan: 4,
@@ -234,8 +369,10 @@
addDetail: false,
// 表单编辑时是否禁止
editDisabled: true,
+ viewDisabled: false,
// 表单编辑时是否可见
editDisplay: true,
+ viewDisplay: false,
// 表单编辑时是否为查看模式
editDetail: false,
props: {
@@ -253,7 +390,9 @@
},
{
label: "保安姓名",
- prop: "name",
+ prop: "realName",
+ searchSpan: 4,
+ search: true,
// 表单新增时是否禁止
addDisabled: false,
// 表单新增时是否可见
@@ -316,7 +455,7 @@
prop: "deptName",
search: true,
slot: true,
- searchSpan: 4,
+ searchSpan: 6,
// 表单新增时是否禁止
addDisabled: false,
// 表单新增时是否可见
@@ -473,48 +612,48 @@
width: 150,
},
- {
- label: "考试时间",
- prop: "examTime",
- type: "datetime",
- // span: 24,
- format: "yyyy-MM-dd HH:mm:ss",
- valueFormat: "yyyy-MM-dd HH:mm:ss",
- // 表单新增时是否禁止
- addDisabled: false,
- // 表单新增时是否可见
- addDisplay: false,
- // 表单新增时是否为查看模式
- addDetail: false,
- // 表单编辑时是否禁止
- editDisabled: false,
- // 表单编辑时是否可见
- editDisplay: true,
- // 表单编辑时是否为查看模式
- editDetail: false,
- width: 150,
- },
- {
- label: "报名状态",
- prop: "applyStatus",
- slot: true,
- searchSpan: 4,
- // 表单新增时是否禁止
- addDisabled: false,
- // 表单新增时是否可见
- addDisplay: false,
- // 表单新增时是否为查看模式
- addDetail: false,
- // 表单编辑时是否禁止
- editDisabled: false,
- // 表单编辑时是否可见
- editDisplay: true,
- // 表单编辑时是否为查看模式
- editDetail: false,
- dicData: DIC.applyStatus,
- search: true,
- type: "select",
- },
+ // {
+ // label: "考试时间",
+ // prop: "examTime",
+ // type: "datetime",
+ // // span: 24,
+ // format: "yyyy-MM-dd HH:mm:ss",
+ // valueFormat: "yyyy-MM-dd HH:mm:ss",
+ // // 表单新增时是否禁止
+ // addDisabled: false,
+ // // 表单新增时是否可见
+ // addDisplay: false,
+ // // 表单新增时是否为查看模式
+ // addDetail: false,
+ // // 表单编辑时是否禁止
+ // editDisabled: false,
+ // // 表单编辑时是否可见
+ // editDisplay: true,
+ // // 表单编辑时是否为查看模式
+ // editDetail: false,
+ // width: 150,
+ // },
+ // {
+ // label: "报名状态",
+ // prop: "applyStatus",
+ // slot: true,
+ // searchSpan: 4,
+ // // 表单新增时是否禁止
+ // addDisabled: false,
+ // // 表单新增时是否可见
+ // addDisplay: false,
+ // // 表单新增时是否为查看模式
+ // addDetail: false,
+ // // 表单编辑时是否禁止
+ // editDisabled: false,
+ // // 表单编辑时是否可见
+ // editDisplay: true,
+ // // 表单编辑时是否为查看模式
+ // editDetail: false,
+ // dicData: DIC.applyStatus,
+ // search: true,
+ // type: "select",
+ // },
// {
// label: "审核状态",
// prop: "examinationType",
@@ -592,12 +731,7 @@
console.log(this.userInfo);
if (this.userInfo.role_name.indexOf("ksxtadmin") != -1) {
- this.questionBankOption.column[0].dicUrl =
- "/api/blade-system/dept/lazy-tree-user?parentId=";
- } else {
- this.questionBankOption.column[0].dicUrl =
- "/api/blade-system/dept/lazy-tree-user?parentId=" +
- this.userInfo.dept_id;
+ this.examPersission = true;
}
},
mounted() {},
@@ -696,6 +830,42 @@
);
},
+ //生成考试弹窗
+ handleBatchExam(){
+ this.dialogExamFormVisible = true;
+ if (this.questionBankSelectionList.length === 0) {
+ this.ids = "";
+ }
+ },
+ //生成考试
+ submitExamApply(row, done, loading){
+ var that = this;
+ var startTime = row.examTime[0];
+ var endTime = row.examTime[1];
+ var examTime = JSON.stringify(row.examTime);
+ console.log(this.ids,111);
+ addExam(this.ids, examTime, startTime, endTime).then(
+ () => {
+ this.questionBankOnLoad(this.questionBankPage);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ that.$refs.formExamApply.resetFields();
+ that.dialogExamFormVisible = false;
+ done();
+ },
+ (error) => {
+ window.console.log(error);
+ loading();
+ }
+ );
+ },
+ //关闭窗口清除数据
+ closeDialog(){
+ this.$refs.formExamApply.resetFields();
+ },
+
questionBankRowDel(row) {
this.$confirm("确定将选择数据删除?", {
confirmButtonText: "确定",
@@ -760,6 +930,26 @@
this.dialogFormVisible = true;
this.Audit = row;
},
+
+ handleImport() {
+ this.excelBox = true;
+ },
+
+ handleTemplate() {
+ window.open(
+ `/api/apply/export-template`
+ );
+ },
+ uploadAfter(res, done, loading, column) {
+ window.console.log(column);
+ this.excelBox = false;
+ this.refreshChange();
+ done();
+ },
+
+ refreshChange() {
+ this.questionBankOnLoad(this.page, this.query);
+ },
},
};
</script>
--
Gitblit v1.9.3