From 8e2a42e4a2da78f9cda9fa3e7732a0ef72f0c906 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Fri, 12 Nov 2021 09:29:02 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/zhba_enterprises
---
src/views/applyexam/index.vue | 961 +++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 675 insertions(+), 286 deletions(-)
diff --git a/src/views/applyexam/index.vue b/src/views/applyexam/index.vue
index c7a6fc3..a68a781 100644
--- a/src/views/applyexam/index.vue
+++ b/src/views/applyexam/index.vue
@@ -2,15 +2,15 @@
* @Author: Morpheus
* @Date: 2021-07-05 16:31:54
* @Last Modified by: Morpheus
- * @Last Modified time: 2021-07-19 19:39:45
+ * @Last Modified time: 2021-11-05 12:02:26
* menu-name 报名考试
*/
<template>
<el-row class="morpheus-box-apply-exam">
- <el-col :span="24" class="hasButOne">
+ <el-col :span="24"
+ class="hasButOne">
<el-card>
<div class="exam-card-body">
-
<avue-crud v-model="obj"
class="company-box"
:option="questionBankOption"
@@ -27,7 +27,6 @@
@size-change="questionBankSizeChange"
@row-save="questionBankRowSave"
@row-del="questionBankRowDel">
-
<!-- 自定义按钮 -->
<!-- <template slot="menuLeft">
<el-button type="danger"
@@ -57,89 +56,167 @@
@click="questionBankHandleDelete">删 除
</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"
- @click="handleCancel(row)"
- >取消报名
+ <!-- 自定义按钮 -->
+ <template slot="menuLeft">
+ <el-button type="primary"
+ size="small"
+ plain
+ icon="el-icon-folder-checked"
+ @click="handleBatchExam"
+ v-if="permission.applyexam_exam">生成考试
</el-button>
- <el-button
- style="display:none"
- :type="type"
- size="small"
- icon="el-icon-folder-checked"
- :disabled="row.applyStatus==4"
- @click="handleAudit(row)"
- >审核
- </el-button>
- <el-button
- :type="type"
- size="small"
- icon="el-icon-receiving"
- :disabled="row.applyStatus==4"
- @click="handlePrint(row)"
- >准考证打印
+ <!-- v-if="examPersission" -->
+ <el-button type="primary"
+ size="small"
+ plain
+ icon="el-icon-folder-checked"
+ v-if="permission.applyexam_import"
+ @click="handleImport">批量报名
</el-button>
</template>
+ <template slot-scope="{ type, row }"
+ slot="menu">
+ <el-button :type="type"
+ size="small"
+ icon="el-icon-refresh-left"
+ v-if="permission.applyexam_cancel"
+ :disabled="row.isApply == 2"
+ @click="handleCancel(row)">取消报名
+ </el-button>
+ <el-button style="display: none"
+ :type="type"
+ size="small"
+ icon="el-icon-folder-checked"
+ :disabled="row.applyStatus == 4"
+ @click="handleAudit(row)">审核
+ </el-button>
+ <el-button :type="type"
+ size="small"
+ icon="el-icon-receiving"
+ v-if="permission.applyexam_print && row.candidateNo!=''"
+ @click="handlePrint(row)">准考证打印
+ </el-button>
+ </template>
+
+ <template slot-scope="{ row }"
+ slot="age">
+ {{ row.age == -1 ? "" : row.age }}
+ </template>
</avue-crud>
- <el-dialog title="考试资格审核"
- :visible.sync="dialogFormVisible"
- modal-append-to-body='false'
- append-to-body='true'
- :close-on-click-model="true">
- <avue-form ref="formAudit" v-model="Audit" :option="optionAudit" @reset-change="emptytChange" @submit="submit"></avue-form>
+ <el-dialog title="考试资格审核"
+ :visible.sync="dialogFormVisible"
+ modal-append-to-body="false"
+ append-to-body="true"
+ :close-on-click-model="true">
+ <avue-form ref="formAudit"
+ v-model="Audit"
+ :option="optionAudit"
+ @reset-change="emptytChange"
+ @submit="submit"></avue-form>
</el-dialog>
- </div>
+ <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="900px"
+ @close="closeDialog">
+ <avue-form ref="formExamApply"
+ v-model="examApply"
+ :option="optionExamApply"
+ @reset-change="emptytChange"
+ @submit="submitExamApply"></avue-form>
+ </el-dialog>
+ </div>
</el-card>
</el-col>
</el-row>
</template>
<script>
-
import {
getApplyList,
addApply,
- updateApply,
- remove
+ cancelApply,
+ remove,
+ addExam,
} from "@/api/examapi/applyexam";
-import { mapState } from 'vuex'
-
-
+import { mapState } from "vuex";
+import { mapGetters } from "vuex";
+import { getRoleDetail } from "@/api/system/role";
var DIC = {
- applyStatus: [{
- label: '已报名',
- value: 2
- }, {
- label: '已取消',
- value: 4
- }]
-}
-
-
+ applyStatus: [
+ {
+ label: "已报名",
+ value: 2,
+ },
+ {
+ label: "已取消",
+ value: 4,
+ },
+ ],
+};
export default {
data () {
-
return {
- dialogFormVisible:false,
- Audit:{},
- optionAudit:{
+ 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,
dialogWidth: 1000,
tip: false,
searchShow: true,
searchMenuSpan: 6,
- border: false,
+ border: true, //liu
index: true,
stripe: true,
viewBtn: true,
@@ -159,67 +236,210 @@
editDisplay: false,
addDisplay: false,
type: "select",
- rules: [{
- required: true,
- message: "请选择审核类型",
- trigger: "blur"
- }],
- dicData: [{
+ rules: [
+ {
+ required: true,
+ message: "请选择审核类型",
+ trigger: "blur",
+ },
+ ],
+ dicData: [
+ {
label: "审核通过",
- value: 2
+ value: 2,
},
{
label: "不通过",
- value: 3
- }
- ]
+ value: 3,
+ },
+ ],
},
{
label: "审核明细",
span: 24,
type: "textarea",
- prop: "auditDetail"
- }
+ prop: "auditDetail",
+ },
+ ],
+ },
+ optionExamApply: {
+ height: "auto",
+ filterBtn: true,
+ calcHeight: 30,
+ dialogWidth: 950,
+ tip: false,
+ searchShow: true,
+ searchMenuSpan: 6,
+ border: true, //liu
+ index: true,
+ stripe: true,
+ viewBtn: true,
+ selection: true,
+ excelBtn: false,
+ menuWidth: 380,
+ dialogClickModal: false,
+ column: [
+ {
+ label: "考试人数",
+ prop: "number",
+ type: 'number',
+ span: 12,
+ precision: 0,
+ step: 50,
+ mock: {
+ type: 'number',
+ max: 1000,
+ min: 0,
+ precision: 0
+ },
+ rules: [
+ {
+ required: true,
+ message: "请输入考试人数",
+ trigger: "blur",
+ },
+ ],
+ minRows: 0,
+ maxRows: 1000,
+ value: 50,
+ },
+ {
+ label: "序号开始",
+ prop: "serialStart",
+ span: 6,
+ value: 1,
+ mock: {
+ type: 'number',
+ max: 1000,
+ min: 1,
+ precision: 0
+ },
+ minRows: 1,
+ maxRows: 1000,
+ type: "number",
+ rules: [
+ {
+ required: true,
+ message: "请输入序号",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: "序号结束",
+ prop: "serialEnd",
+ span: 6,
+ value: 50,
+ mock: {
+ type: 'number',
+ max: 1000,
+ min: 1,
+ precision: 0
+ },
+ minRows: 1,
+ maxRows: 1000,
+ type: "number",
+ rules: [
+ {
+ required: true,
+ message: "请输入序号",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: "考试时间",
+ prop: "startTime",
+ type: "datetime",
+ format: "yyyy-MM-dd HH:mm",
+ valueFormat: "yyyy-MM-dd HH:mm",
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: true,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: false,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ rules: [
+ {
+ required: true,
+ message: "请选择考试时间",
+ trigger: "blur",
+ },
+ ],
+ span: 12,
+ },
+ {
+ label: "截止时间",
+ prop: "endTime",
+ type: "datetime",
+ format: "yyyy-MM-dd HH:mm",
+ valueFormat: "yyyy-MM-dd HH:mm",
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: true,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: false,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ rules: [
+ {
+ required: true,
+ message: "请选择考试时间",
+ trigger: "blur",
+ },
+ ],
+ span: 12,
+ },
],
},
questionBankOption: {
// 操作栏多余按钮去除
delBtn: false,
editBtn: false,
- addBtn: true,
- selection: true,
+ addBtn: false,
+ selection: false,
menu: true,
// 导出按钮
// excelBtn: true,
- viewBtn: false,
+ viewBtn: true,
// title: '题库',
- align: 'center',
- height: 'auto',
+ align: "center",
+ height: "auto",
calcHeight: 80,
tip: false,
searchShow: true,
searchMenuSpan: 4,
index: true,
- indexLabel: '#',
+ indexLabel: "#",
//dialogType: 'drawer',
dialogClickModal: false,
//tree 默认展开
- defaultExpandAll:true,
+ defaultExpandAll: true,
// 操作栏宽度
- menuWidth: 200,
+ menuWidth: 250,
column: [
{
label: "保安姓名",
prop: "userId",
- type: 'tree',
- dicUrl: '',
- search: true,
- hide:true,
+ type: "tree",
+ dicUrl: "",
+ hide: true,
slot: true,
- searchSpan:5,
+ searchSpan: 4,
// 表单新增时是否禁止
addDisabled: false,
// 表单新增时是否可见
@@ -228,24 +448,30 @@
addDetail: false,
// 表单编辑时是否禁止
editDisabled: true,
+ viewDisabled: false,
// 表单编辑时是否可见
editDisplay: true,
+ viewDisplay: false,
// 表单编辑时是否为查看模式
editDetail: false,
props: {
label: "title",
value: "id",
},
- rules: [{
- required: true,
- message: "请选择保安姓名",
- trigger: "blur"
- }],
- width:80
+ rules: [
+ {
+ required: true,
+ message: "请选择保安姓名",
+ trigger: "blur",
+ },
+ ],
+ width: 80,
},
{
label: "保安姓名",
- prop: "name",
+ prop: "realName",
+ searchSpan: 4,
+ search: true,
// 表单新增时是否禁止
addDisabled: false,
// 表单新增时是否可见
@@ -258,53 +484,75 @@
editDisplay: false,
// 表单编辑时是否为查看模式
editDetail: false,
- viewDisplay:true,
+ viewDisplay: true,
props: {
label: "title",
value: "id",
},
- rules: [{
- required: true,
- message: "请选择保安姓名",
- trigger: "blur"
- }]
+ rules: [
+ {
+ required: true,
+ message: "请选择保安姓名",
+ trigger: "blur",
+ },
+ ],
},
{
- label: "考试名称",
- prop: "examName",
- type: 'tree',
- dicUrl: '/api/exampaper/page-tree?examType=1',
- // search: true,
+ label: "年龄",
+ prop: "age",
slot: true,
// 表单新增时是否禁止
addDisabled: false,
// 表单新增时是否可见
- addDisplay: true,
+ addDisplay: false,
// 表单新增时是否为查看模式
addDetail: false,
// 表单编辑时是否禁止
- editDisabled: true,
+ editDisabled: false,
// 表单编辑时是否可见
- editDisplay: true,
+ editDisplay: false,
// 表单编辑时是否为查看模式
editDetail: false,
- props: {
- label: "examName",
- value: "id",
- },
- rules: [{
- required: true,
- message: "请选择试卷名称",
- trigger: "blur"
- }],
- width: 220
+ viewDisplay: true,
},
+ // {
+ // label: "考试名称",
+ // prop: "examName",
+ // type: "tree",
+ // dicUrl: "/api/exampaper/page-tree?examType=1",
+ // // search: true,
+ // slot: true,
+ // // 表单新增时是否禁止
+ // addDisabled: false,
+ // // 表单新增时是否可见
+ // addDisplay: true,
+ // // 表单新增时是否为查看模式
+ // addDetail: false,
+ // // 表单编辑时是否禁止
+ // editDisabled: true,
+ // // 表单编辑时是否可见
+ // editDisplay: true,
+ // // 表单编辑时是否为查看模式
+ // editDetail: false,
+ // props: {
+ // label: "examName",
+ // value: "id",
+ // },
+ // rules: [
+ // {
+ // required: true,
+ // message: "请选择试卷名称",
+ // trigger: "blur",
+ // },
+ // ],
+ // width: 220,
+ // },
{
label: "所属公司",
prop: "deptName",
search: true,
slot: true,
- searchSpan:5,
+ searchSpan: 6,
// 表单新增时是否禁止
addDisabled: false,
// 表单新增时是否可见
@@ -317,12 +565,14 @@
editDisplay: true,
// 表单编辑时是否为查看模式
editDetail: false,
- rules: [{
- required: true,
- message: "请选择所属公司",
- trigger: "blur"
- }],
- width: 220
+ rules: [
+ {
+ required: true,
+ message: "请选择所属公司",
+ trigger: "blur",
+ },
+ ],
+ width: 220,
},
{
label: "准考证号",
@@ -340,12 +590,14 @@
editDisplay: true,
// 表单编辑时是否为查看模式
editDetail: false,
- rules: [{
- required: true,
- message: "请选择准考证号",
- trigger: "blur"
- }],
- width: 100
+ rules: [
+ {
+ required: true,
+ message: "请选择准考证号",
+ trigger: "blur",
+ },
+ ],
+ width: 100,
},
{
label: "身份证号",
@@ -363,16 +615,18 @@
editDisplay: true,
// 表单编辑时是否为查看模式
editDetail: false,
- rules: [{
- required: true,
- message: "请选择准考证号",
- trigger: "blur"
- }],
- width: 150
+ rules: [
+ {
+ required: true,
+ message: "请选择准考证号",
+ trigger: "blur",
+ },
+ ],
+ width: 150,
},
{
label: "报考证件",
- prop: "applyCard",
+ prop: "applyCard",
slot: true,
// 表单新增时是否禁止
addDisabled: false,
@@ -386,11 +640,13 @@
editDisplay: true,
// 表单编辑时是否为查看模式
editDetail: false,
- rules: [{
- required: true,
- message: "请选择准考证号",
- trigger: "blur"
- }],
+ rules: [
+ {
+ required: true,
+ message: "请选择准考证号",
+ trigger: "blur",
+ },
+ ],
},
// {
// label: "试卷分数",
@@ -414,8 +670,8 @@
prop: "applyTime",
type: "datetime",
// span: 24,
- format: 'yyyy-MM-dd HH:mm:ss',
- valueFormat: 'yyyy-MM-dd HH:mm:ss',
+ format: "yyyy-MM-dd HH:mm:ss",
+ valueFormat: "yyyy-MM-dd HH:mm:ss",
// 表单新增时是否禁止
addDisabled: true,
// 表单新增时是否可见
@@ -428,110 +684,143 @@
editDisplay: true,
// 表单编辑时是否为查看模式
editDetail: false,
- value: (new Date().getFullYear() + '-' + (new Date().getMonth() + 1 < 10
- ? "0" + (new Date().getMonth() + 1)
- : new Date().getMonth() + 1) + '-' + (new Date().getDate() < 10
+ value:
+ new Date().getFullYear() +
+ "-" +
+ (new Date().getMonth() + 1 < 10
+ ? "0" + (new Date().getMonth() + 1)
+ : new Date().getMonth() + 1) +
+ "-" +
+ (new Date().getDate() < 10
? "0" + new Date().getDate()
- : new Date().getDate()) + ' ' + (new Date().getHours() < 10
- ? "0" + new Date().getHours()
- : new Date().getHours()) + ':' + (new Date().getMinutes() < 10
- ? "0" + new Date().getMinutes()
- : new Date().getMinutes()) + ':' + (new Date().getSeconds() < 10
- ? "0" + new Date().getSeconds()
- : new Date().getSeconds())),
+ : new Date().getDate()) +
+ " " +
+ (new Date().getHours() < 10
+ ? "0" + new Date().getHours()
+ : new Date().getHours()) +
+ ":" +
+ (new Date().getMinutes() < 10
+ ? "0" + new Date().getMinutes()
+ : new Date().getMinutes()) +
+ ":" +
+ (new Date().getSeconds() < 10
+ ? "0" + new Date().getSeconds()
+ : new Date().getSeconds()),
- 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:5,
- // 表单新增时是否禁止
- addDisabled: false,
- // 表单新增时是否可见
- addDisplay: false,
- // 表单新增时是否为查看模式
- addDetail: false,
- // 表单编辑时是否禁止
- editDisabled: false,
- // 表单编辑时是否可见
- editDisplay: true,
- // 表单编辑时是否为查看模式
- editDetail: false,
- dicData:DIC.applyStatus,
- search:true,
- type:"select"
+ width: 150,
},
// {
- // label: "审核状态",
- // prop: "examinationType",
- // slot: true,
- // searchSpan:5,
- // // 表单新增时是否禁止
- // addDisabled: false,
- // // 表单新增时是否可见
- // addDisplay: false,
- // // 表单新增时是否为查看模式
- // addDetail: false,
- // // 表单编辑时是否禁止
- // editDisabled: false,
- // // 表单编辑时是否可见
- // editDisplay: true,
- // // 表单编辑时是否为查看模式
- // editDetail: false,
- // dicData:[
- // {
- // label: '待审核',
- // value: "1"
- // },
- // {
- // label: '审核通过',
- // value: "2"
- // },
- // {
- // label: '审核不通过',
- // value: "3"
- // }
- // ],
- // 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: "examinationType",
+ // slot: true,
+ // searchSpan: 5,
+ // // 表单新增时是否禁止
+ // addDisabled: false,
+ // // 表单新增时是否可见
+ // addDisplay: false,
+ // // 表单新增时是否为查看模式
+ // addDetail: false,
+ // // 表单编辑时是否禁止
+ // editDisabled: false,
+ // // 表单编辑时是否可见
+ // editDisplay: true,
+ // // 表单编辑时是否为查看模式
+ // editDetail: false,
+ // dicData: [
+ // {
+ // label: "正常",
+ // value: "1",
+ // },
+ // {
+ // label: "异常",
+ // value: "2",
+ // },
+ // ],
+ // search: true,
+ // type: "select",
+ // },
+ // {
+ // label: "审查明细",
+ // prop: "examinationMx",
+ // slot: true,
+ // // 表单新增时是否禁止
+ // addDisabled: false,
+ // // 表单新增时是否可见
+ // addDisplay: false,
+ // // 表单新增时是否为查看模式
+ // addDetail: false,
+ // // 表单编辑时是否禁止
+ // editDisabled: false,
+ // // 表单编辑时是否可见
+ // editDisplay: true,
+ // // 表单编辑时是否为查看模式
+ // editDetail: false,
+ // overHidden: true,
+ // width: 150,
+ // },
+ // {
+ // label: "报名状态",
+ // search: true,
+ // type: "select",
+ // searchSpan: 4,
+ // prop: "applyStatus",
+ // searchValue: 2,
+ // dicData: [{
+ // label: '全部',
+ // value: 0,
+ // },
+ // {
+ // label: '已报名',
+ // value: 2,
+ // },
+ // {
+ // label: '已取消',
+ // value: 4,
+ // }
+ // ],
+ // props: {
+ // label: "label",
+ // value: "value"
+ // },
+ // editDisplay: false,
+ // addDisplay: false,
+ // width: 100,
+ // },
+ ],
},
questionBankSearch: {},
questionBankLoading: true,
- questionBankData: [
-
- ],
+ questionBankData: [],
questionBankPage: {
pageSize: 10,
currentPage: 1,
- total: 16
+ total: 16,
},
questionBankQuery: {},
questionBankSelectionList: [],
- }
+ };
},
watch: {
@@ -560,29 +849,29 @@
},
created () {
- console.log(this.userInfo)
+ if (this.userInfo.role_name.indexOf("ksxtadmin") != -1) {
+ this.examPersission = true;
+ }
- 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.questionBankSearch['applyStatus'] = 2;
},
- mounted () {
-
-
- },
+ mounted () { },
computed: {
...mapState({
- userInfo: state => state.user.userInfo
+ userInfo: (state) => state.user.userInfo,
}),
+ ...mapGetters(["userInfo", "permission"]),
+ permissionList () {
+ return {
+ addBtn: this.vaildData(null, false),
+ viewBtn: this.vaildData(this.permission.applyexam_view, false),
+ delBtn: this.vaildData(null, false),
+ editBtn: this.vaildData(null, false),
+ };
+ },
ids () {
let ids = [];
- this.questionBankSelectionList.forEach(ele => {
+ this.questionBankSelectionList.forEach((ele) => {
ids.push(ele.id);
});
return ids.join(",");
@@ -590,7 +879,7 @@
},
methods: {
//准考证查看
- handlePrint(row) {
+ handlePrint (row) {
var obj = row;
obj["name"] = "准考证信息";
this.$router.push({
@@ -599,14 +888,36 @@
});
},
questionBankOnLoad (page, params = {}) {
+ params = this.questionBankSearch;
this.questionBankLoading = false;
- getApplyList(page.currentPage, page.pageSize, Object.assign(params, this.questionBankQuery)).then(res => {
- const data = res.data.data;
- this.questionBankPage.total = data.total;
- this.questionBankData = data.records;
- this.questionBankLoading = false;
- this.questionBankSelectionClear();
- });
+ this.loading = true;
+ //判断角色,如果是保安公司管理员或保安,只能查看当前公司的报名信息
+ var that = this;
+ //获取当前登录人员的角色信息
+ var roleIds = this.userInfo.role_id.split(",");
+ roleIds.forEach((roleId) => {
+ getRoleDetail(roleId).then((res) => {
+ var roleAlias = res.data.data.roleAlias;
+ if (
+ roleAlias == "保安公司管理员" ||
+ roleAlias == "保安"
+ ) {
+ //如果是保安公司管理员
+ params["deptId"] = that.userInfo.dept_id;
+ }
+ getApplyList(
+ page.currentPage,
+ page.pageSize,
+ Object.assign(params, this.questionBankQuery)
+ ).then((res) => {
+ const data = res.data.data;
+ this.questionBankPage.total = data.total;
+ this.questionBankData = data.records;
+ this.questionBankLoading = false;
+ this.questionBankSelectionClear();
+ });
+ })
+ })
},
questionBankSelectionClear () {
this.questionBankSelectionList = [];
@@ -635,36 +946,96 @@
// 新增
questionBankRowSave (row, done, loading) {
// debugger;
- addApply({ userId: row.userId, examId: row.examName, applyTime: row.applyTime }).then((res) => {
- this.questionBankOnLoad(this.questionBankPage);
- if(res.data.data==201){
- this.$message({
- type: "warning",
- message:"已报名,不能重复报名",
- });
- }else if(res.data.data==201){
- this.$message({
- type: "warning",
- message:"报名失败",
- });
- }else{
- this.$message({
- type: "success",
- message:"报名成功",
- });
+ addApply({
+ userId: row.userId,
+ examId: row.examName,
+ applyTime: row.applyTime,
+ }).then(
+ (res) => {
+ this.questionBankOnLoad(this.questionBankPage);
+ if (res.data.data == 201) {
+ this.$message({
+ type: "warning",
+ message: "已报名,不能重复报名",
+ });
+ } else if (res.data.data == 201) {
+ this.$message({
+ type: "warning",
+ message: "报名失败",
+ });
+ } else {
+ this.$message({
+ type: "success",
+ message: "报名成功",
+ });
+ }
+ done();
+ },
+ (error) => {
+ window.console.log(error);
+ loading();
}
+ );
+ },
+
+ //生成考试弹窗
+ handleBatchExam () {
+ this.dialogExamFormVisible = true;
+ if (this.questionBankSelectionList.length === 0) {
+ this.ids = "";
+ }
+ },
+ //生成考试
+ submitExamApply (row, done, loading) {
+ var that = this;
+ row.startTime = row.startTime + ":00";
+ row.endTime = row.endTime + ":00";
+ if (row.number != ((row.serialEnd - row.serialStart) + 1)) {
+ this.$message({
+ type: "error",
+ message: "考试人数与序号不匹配!",
+ });
done();
- }, error => {
- window.console.log(error);
- loading();
- });
+ return;
+ }
+
+ var s = new Date(row.startTime);
+ var e = new Date(row.endTime);
+ if (s > e) {
+ this.$message({
+ type: "error",
+ message: "截止时间不能早于考试考试开始时间!",
+ });
+ done();
+ return;
+ }
+ addExam(Object.assign(row, this.questionBankSearch)).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: "确定",
cancelButtonText: "取消",
- type: "warning"
+ type: "warning",
})
.then(() => {
return remove(row.id);
@@ -673,27 +1044,27 @@
this.questionBankOnLoad(this.questionBankPage);
this.$message({
type: "success",
- message: "操作成功!"
+ message: "操作成功!",
});
});
},
//取消报名
- handleCancel(row){
+ handleCancel (row) {
this.$confirm("确定取消报名?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
- type: "warning"
+ type: "warning",
})
.then(() => {
row.applyStatus = 4;
- return updateApply(row);
+ return cancelApply(row);
})
.then(() => {
this.questionBankOnLoad(this.questionBankPage);
this.$message({
type: "success",
- message: "操作成功!"
+ message: "操作成功!",
});
});
},
@@ -706,7 +1077,7 @@
this.$confirm("确定将选择数据删除?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
- type: "warning"
+ type: "warning",
})
.then(() => {
return remove(this.ids);
@@ -715,17 +1086,35 @@
this.questionBankOnLoad(this.questionBankPage);
this.$message({
type: "success",
- message: "操作成功!"
+ message: "操作成功!",
});
this.$refs.questionBankCrud.toggleSelection();
});
},
- handleAudit(row){
+ handleAudit (row) {
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>
<style lang="scss" scoped>
--
Gitblit v1.9.3