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 +++++++++--
src/api/examapi/applyexam.js | 13
src/views/applydetailed/papers.vue | 40 +
src/views/applydetailed/index.vue | 1263 +++++++++++++++++++++++-----------------------
src/views/companyApply/index.vue | 2
5 files changed, 931 insertions(+), 687 deletions(-)
diff --git a/src/api/examapi/applyexam.js b/src/api/examapi/applyexam.js
index 5533f77..fb228e7 100644
--- a/src/api/examapi/applyexam.js
+++ b/src/api/examapi/applyexam.js
@@ -50,6 +50,19 @@
})
}
+export const addExam = (ids, examTime, startTime, endTime) => {
+ return request({
+ url: '/api/apply/batchExam',
+ method: 'post',
+ params: {
+ ids,
+ examTime,
+ startTime,
+ endTime
+ }
+ })
+}
+
diff --git a/src/views/applydetailed/index.vue b/src/views/applydetailed/index.vue
index 8fd3d19..813d19a 100644
--- a/src/views/applydetailed/index.vue
+++ b/src/views/applydetailed/index.vue
@@ -6,655 +6,656 @@
* menu-name 报名考试
*/
<template>
- <el-row class="morpheus-box-apply-exam-1">
- <el-col :span="24" class="hasButOne">
- <el-card>
- <div class="exam-card-body">
+ <el-row class="morpheus-box-apply-exam-1">
+ <el-col :span="24" class="hasButOne">
+ <el-card>
+ <div class="exam-card-body">
+ <avue-crud
+ v-model="obj"
+ class="company-box"
+ :option="questionBankOption"
+ :search.sync="questionBankSearch"
+ :table-loading="questionBankLoading"
+ :data="questionBankData"
+ ref="questionBankCrud"
+ :page.sync="questionBankPage"
+ @on-load="questionBankOnLoad"
+ @selection-change="questionBankSelectionChange"
+ @search-change="questionBankSearchChange"
+ @search-reset="questionBankSearchReset"
+ @current-change="questionBankCurrentChange"
+ @size-change="questionBankSizeChange"
+ @row-save="questionBankRowSave"
+ @row-del="questionBankRowDel"
+ >
+ <!-- 自定义按钮 -->
+ <template slot="menuLeft">
+ <el-button
+ type="warning"
+ size="small"
+ plain
+ icon="el-icon-download"
+ @click="handleExport"
+ >清册生成
+ </el-button>
+ <el-button
+ style="display:none"
+ type="success"
+ size="small"
+ plain
+ icon="el-icon-receiving"
+ @click="handleImport"
+ >清册打印
+ </el-button>
+ </template>
- <avue-crud v-model="obj"
- class="company-box"
- :option="questionBankOption"
- :search.sync="questionBankSearch"
- :table-loading="questionBankLoading"
- :data="questionBankData"
- ref="questionBankCrud"
- :page.sync="questionBankPage"
- @on-load="questionBankOnLoad"
- @selection-change="questionBankSelectionChange"
- @search-change="questionBankSearchChange"
- @search-reset="questionBankSearchReset"
- @current-change="questionBankCurrentChange"
- @size-change="questionBankSizeChange"
- @row-save="questionBankRowSave"
- @row-del="questionBankRowDel">
+ <template slot-scope="{ type, row }" slot="menu">
+ <el-button
+ :type="type"
+ size="small"
+ icon="el-icon-receiving"
+ :disabled="row.applyStatus == 4"
+ @click="handlePrint(row)"
+ >准考证打印
+ </el-button>
+ </template>
+ </avue-crud>
- <!-- 自定义按钮 -->
- <template slot="menuLeft">
- <el-button
- type="warning"
- size="small"
- plain
- icon="el-icon-download"
- @click="handleExport"
- >导出
- </el-button>
- <el-button
- type="success"
- size="small"
- plain
- icon="el-icon-upload2"
- @click="handleImport"
- >导入
- </el-button>
- </template>
-
- <template slot-scope="{ type,row }" slot="menu">
- <el-button
- :type="type"
- size="small"
- icon="el-icon-receiving"
- :disabled="row.applyStatus==4"
- @click="handlePrint(row)"
- >准考证打印
- </el-button>
- </template>
-
- </avue-crud>
-
- <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>
-
- </div>
-
- </el-card>
- </el-col>
- </el-row>
+ <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>
+ </div>
+ </el-card>
+ </el-col>
+ </el-row>
</template>
<script>
-
-import {
- getApplyList,
- addApply,
- remove
-} from "@/api/examapi/applyexam";
-import { mapState } from 'vuex'
-
+import { getApplyList, addApply, remove } from "@/api/examapi/applyexam";
+import { mapState } from "vuex";
var DIC = {
- applyStatus: [{
- label: '已报名',
- value: 2
- }, {
- label: '已取消',
- value: 4
- }]
-}
+ applyStatus: [
+ {
+ label: "已报名",
+ value: 2,
+ },
+ {
+ label: "已取消",
+ value: 4,
+ },
+ ],
+};
export default {
- data () {
+ data() {
+ return {
+ obj: {
+ name: "张三",
+ },
+ excelBox: false,
+ questionBankOption: {
+ // 操作栏多余按钮去除
+ delBtn: false,
+ editBtn: false,
+ addBtn: false,
+ selection: true,
+ menu: true,
+ // 导出按钮
+ // excelBtn: true,
+ viewBtn: false,
- return {
- obj: {
- name: '张三',
+ // title: '题库',
+
+ align: "center",
+ height: "auto",
+ calcHeight: 80,
+ tip: false,
+ searchShow: true,
+ searchMenuSpan: 4,
+ index: true,
+ indexLabel: "序号",
+ //dialogType: 'drawer',
+ dialogClickModal: false,
+ // 操作栏宽度
+ menuWidth: 200,
+
+ column: [
+ {
+ label: "保安姓名",
+ prop: "userId",
+ type: "tree",
+ dicUrl: "",
+ hide: true,
+ slot: true,
+ searchSpan: 4,
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: true,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: true,
+ viewDisabled: false,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ viewDisplay: false,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ props: {
+ label: "title",
+ value: "id",
},
- excelBox: false,
- questionBankOption: {
- // 操作栏多余按钮去除
- delBtn: false,
- editBtn: false,
- addBtn: false,
- selection: true,
- menu: true,
- // 导出按钮
- // excelBtn: true,
- viewBtn: false,
-
- // title: '题库',
-
- align: 'center',
- height: 'auto',
- calcHeight: 80,
- tip: false,
- searchShow: true,
- searchMenuSpan: 4,
- index: true,
- indexLabel: '序号',
- //dialogType: 'drawer',
- dialogClickModal: false,
- // 操作栏宽度
- menuWidth: 200,
-
- column: [
- {
- label: "保安姓名",
- prop: "userId",
- type: 'tree',
- dicUrl: '',
- search: true,
- hide:true,
- slot: true,
- // 表单新增时是否禁止
- addDisabled: false,
- // 表单新增时是否可见
- addDisplay: true,
- // 表单新增时是否为查看模式
- addDetail: false,
- // 表单编辑时是否禁止
- editDisabled: true,
- // 表单编辑时是否可见
- editDisplay: true,
- // 表单编辑时是否为查看模式
- editDetail: false,
- props: {
- label: "title",
- value: "id",
- },
- rules: [{
- required: true,
- message: "请选择保安姓名",
- trigger: "blur"
- }]
- },
- {
- label: "保安姓名",
- prop: "name",
- // 表单新增时是否禁止
- addDisabled: false,
- // 表单新增时是否可见
- addDisplay: false,
- // 表单新增时是否为查看模式
- addDetail: false,
- // 表单编辑时是否禁止
- editDisabled: false,
- // 表单编辑时是否可见
- editDisplay: false,
- // 表单编辑时是否为查看模式
- editDetail: false,
- viewDisplay:true,
- props: {
- label: "title",
- value: "id",
- },
- rules: [{
- required: true,
- message: "请选择保安姓名",
- trigger: "blur"
- }]
- },
- {
- label: "考试名称",
- prop: "examName",
- type: 'tree',
- dicUrl: '/api/exampaper/page-tree',
- // 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,
- // 表单新增时是否禁止
- addDisabled: false,
- // 表单新增时是否可见
- addDisplay: false,
- // 表单新增时是否为查看模式
- addDetail: false,
- // 表单编辑时是否禁止
- editDisabled: true,
- // 表单编辑时是否可见
- editDisplay: true,
- // 表单编辑时是否为查看模式
- editDetail: false,
- rules: [{
- required: true,
- message: "请选择所属公司",
- trigger: "blur"
- }],
- width: 220
- },
- {
- label: "准考证号",
- prop: "candidateNo",
- slot: true,
- // 表单新增时是否禁止
- addDisabled: false,
- // 表单新增时是否可见
- addDisplay: false,
- // 表单新增时是否为查看模式
- addDetail: false,
- // 表单编辑时是否禁止
- editDisabled: false,
- // 表单编辑时是否可见
- editDisplay: true,
- // 表单编辑时是否为查看模式
- editDetail: false,
- rules: [{
- required: true,
- message: "请选择准考证号",
- trigger: "blur"
- }],
- width:100
- },
- {
- label: "身份证号",
- prop: "idCardNo",
- slot: true,
- // 表单新增时是否禁止
- addDisabled: false,
- // 表单新增时是否可见
- addDisplay: false,
- // 表单新增时是否为查看模式
- addDetail: false,
- // 表单编辑时是否禁止
- editDisabled: false,
- // 表单编辑时是否可见
- editDisplay: true,
- // 表单编辑时是否为查看模式
- editDetail: false,
- rules: [{
- required: true,
- message: "请选择准考证号",
- trigger: "blur"
- }],
- width: 200
- },
- {
- label: "报考证件",
- prop: "applyCard",
- slot: true,
- // 表单新增时是否禁止
- addDisabled: false,
- // 表单新增时是否可见
- addDisplay: false,
- // 表单新增时是否为查看模式
- addDetail: false,
- // 表单编辑时是否禁止
- editDisabled: false,
- // 表单编辑时是否可见
- editDisplay: true,
- // 表单编辑时是否为查看模式
- editDetail: false,
- rules: [{
- required: true,
- message: "请选择准考证号",
- trigger: "blur"
- }],
- },
- // {
- // label: "试卷分数",
- // prop: "paperScore",
- // slot: true,
- // // 表单新增时是否禁止
- // addDisabled: false,
- // // 表单新增时是否可见
- // addDisplay: false,
- // // 表单新增时是否为查看模式
- // addDetail: false,
- // // 表单编辑时是否禁止
- // editDisabled: true,
- // // 表单编辑时是否可见
- // editDisplay: true,
- // // 表单编辑时是否为查看模式
- // editDetail: false
- // },
- {
- label: "报名时间",
- prop: "applyTime",
- type: "datetime",
- // span: 24,
- format: 'yyyy-MM-dd HH:mm:ss',
- valueFormat: 'yyyy-MM-dd HH:mm:ss',
- // 表单新增时是否禁止
- addDisabled: true,
- // 表单新增时是否可见
- addDisplay: true,
- // 表单新增时是否为查看模式
- addDetail: false,
- // 表单编辑时是否禁止
- editDisabled: true,
- // 表单编辑时是否可见
- 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
- ? "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())),
-
- width: 160
- },
- {
- 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: 160
- },{
- label: "报名状态",
- prop: "applyStatus",
- slot: true,
- // 表单新增时是否禁止
- addDisabled: false,
- // 表单新增时是否可见
- addDisplay: false,
- // 表单新增时是否为查看模式
- addDetail: false,
- // 表单编辑时是否禁止
- editDisabled: false,
- // 表单编辑时是否可见
- editDisplay: true,
- // 表单编辑时是否为查看模式
- editDetail: false,
- dicData:DIC.applyStatus,
- search:true,
- type:"select"
- },
- ]
- },
- questionBankSearch: {},
- questionBankLoading: true,
- questionBankData: [
-
+ rules: [
+ {
+ required: true,
+ message: "请选择保安姓名",
+ trigger: "blur",
+ },
],
- questionBankPage: {
- pageSize: 10,
- currentPage: 1,
- total: 16
+ width: 80,
+ },
+ {
+ label: "保安姓名",
+ prop: "realName",
+ searchSpan: 4,
+ search: true,
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: false,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: false,
+ // 表单编辑时是否可见
+ editDisplay: false,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ viewDisplay: true,
+ props: {
+ label: "title",
+ value: "id",
},
- questionBankQuery: {},
- questionBankSelectionList: [],
- 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,
- },
- ],
+ rules: [
+ {
+ required: true,
+ message: "请选择保安姓名",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: "考试名称",
+ prop: "examName",
+ type: "tree",
+ dicUrl: "/api/exampaper/page-tree",
+ // 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,
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: false,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: true,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ rules: [
+ {
+ required: true,
+ message: "请选择所属公司",
+ trigger: "blur",
+ },
+ ],
+ width: 220,
+ },
+ {
+ label: "准考证号",
+ prop: "candidateNo",
+ slot: true,
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: false,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: false,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ rules: [
+ {
+ required: true,
+ message: "请选择准考证号",
+ trigger: "blur",
+ },
+ ],
+ width: 100,
+ },
+ {
+ label: "身份证号",
+ prop: "idCardNo",
+ slot: true,
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: false,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: false,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ rules: [
+ {
+ required: true,
+ message: "请选择准考证号",
+ trigger: "blur",
+ },
+ ],
+ width: 200,
+ },
+ {
+ label: "报考证件",
+ prop: "applyCard",
+ slot: true,
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: false,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: false,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ rules: [
+ {
+ required: true,
+ message: "请选择准考证号",
+ trigger: "blur",
+ },
+ ],
+ },
+ // {
+ // label: "试卷分数",
+ // prop: "paperScore",
+ // slot: true,
+ // // 表单新增时是否禁止
+ // addDisabled: false,
+ // // 表单新增时是否可见
+ // addDisplay: false,
+ // // 表单新增时是否为查看模式
+ // addDetail: false,
+ // // 表单编辑时是否禁止
+ // editDisabled: true,
+ // // 表单编辑时是否可见
+ // editDisplay: true,
+ // // 表单编辑时是否为查看模式
+ // editDetail: false
+ // },
+ {
+ label: "报名时间",
+ prop: "applyTime",
+ type: "datetime",
+ // span: 24,
+ format: "yyyy-MM-dd HH:mm:ss",
+ valueFormat: "yyyy-MM-dd HH:mm:ss",
+ // 表单新增时是否禁止
+ addDisabled: true,
+ // 表单新增时是否可见
+ addDisplay: true,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: true,
+ // 表单编辑时是否可见
+ 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
+ ? "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()),
- watch: {
- "form.examname": {
- // form是表单或者表格绑定的数据集,v-model='form'
- handler (val) {
- if (val) {
- //地址截取,从县/区开始截取,并且取从县区第一个出现的位置开始
- var address = val.formattedAddress.toString();
- if (address.search("县") != -1) {
- this.form.address = address.substring(
- address.indexOf("县") + 1,
- address.length
- );
- }
- if (address.search("区") != -1) {
- this.form.address = address.substring(
- address.indexOf("区") + 1,
- address.length
- );
- }
- }
+ width: 160,
+ },
+ // {
+ // 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: 160
+ // },{
+ // label: "报名状态",
+ // prop: "applyStatus",
+ // slot: true,
+ // // 表单新增时是否禁止
+ // addDisabled: false,
+ // // 表单新增时是否可见
+ // addDisplay: false,
+ // // 表单新增时是否为查看模式
+ // addDetail: false,
+ // // 表单编辑时是否禁止
+ // editDisabled: false,
+ // // 表单编辑时是否可见
+ // editDisplay: true,
+ // // 表单编辑时是否为查看模式
+ // editDetail: false,
+ // dicData:DIC.applyStatus,
+ // search:true,
+ // type:"select"
+ // },
+ ],
+ },
+ questionBankSearch: {},
+ questionBankLoading: true,
+ questionBankData: [],
+ questionBankPage: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 16,
+ },
+ questionBankQuery: {},
+ questionBankSelectionList: [],
+ excelForm: {},
+ excelOption: {
+ submitBtn: false,
+ emptyBtn: false,
+ column: [
+ {
+ label: "模板上传",
+ prop: "excelFile",
+ type: "upload",
+ drag: true,
+ loadText: "模板上传中,请稍等",
+ span: 24,
+ propsHttp: {
+ res: "data",
},
- immediate: true,
- },
- },
- created () {
+ tip: "请上传 .xls,.xlsx 标准格式文件",
+ action: "/api/apply/import-apply",
+ },
+ {
+ label: "模板下载",
+ prop: "excelTemplate",
+ formslot: true,
+ span: 24,
+ },
+ ],
+ },
+ };
+ },
+ created() {
+ console.log(this.userInfo);
- 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
-
- }
-
-
-
-
-
- },
- mounted() {
- var flag = false,
- i = 0,
- ind = null;
- this.$store.state.tags.tagList.forEach((item, index) => {
- if (item.label == "报名清册") {
- if (flag == false) {
- ind = index;
- flag = true;
- }
- i++;
- }
- });
- if (i > 1) {
- this.$store.state.tags.tagList.splice(ind, 1);
- }
- },
- computed: {
- ...mapState({
- userInfo: state => state.user.userInfo
- }),
- ids () {
- let ids = [];
- this.questionBankSelectionList.forEach(ele => {
- ids.push(ele.id);
- });
- return ids.join(",");
- },
- },
- methods: {
- //准考证查看
- handlePrint(row) {
- var obj = row;
- obj["name"] = "准考证信息";
- this.$router.push({
- path: `/applyexam/papers`,
- query: obj,
- });
- },
- questionBankOnLoad (page, params = {}) {
- // debugger;
- params['examId'] = this.$route.query.id;
- 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();
- });
- },
- questionBankSelectionClear () {
- this.questionBankSelectionList = [];
- this.$refs.questionBankCrud.toggleSelection();
- },
- questionBankSelectionChange (list) {
- this.questionBankSelectionList = list;
- },
- questionBankSearchChange (params, done) {
- this.questionBankQuery = params;
- this.questionBankPage.currentPage = 1;
- this.questionBankOnLoad(this.questionBankPage, params);
- done();
- },
- questionBankSearchReset () {
- this.questionBankQuery = {};
- this.questionBankOnLoad(this.questionBankPage);
- },
- questionBankCurrentChange (currentPage) {
- this.questionBankPage.currentPage = currentPage;
- },
- questionBankSizeChange (pageSize) {
- this.questionBankPage.pageSize = pageSize;
- },
-
- // 新增
- questionBankRowSave (row, done, loading) {
-
- addApply({ userId: row.name, examId: row.examName, applyTime: row.applyTime }).then(() => {
- this.questionBankOnLoad(this.questionBankPage);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- done();
- }, error => {
- window.console.log(error);
- loading();
- });
- },
-
- questionBankRowDel (row) {
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return remove(row.id);
- })
- .then(() => {
- this.questionBankOnLoad(this.questionBankPage);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- });
- },
-
- questionBankHandleDelete () {
- if (this.questionBankSelectionList.length === 0) {
- this.$message.warning("请选择至少一条数据");
- return;
- }
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return remove(this.ids);
- })
- .then(() => {
- this.questionBankOnLoad(this.questionBankPage);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- this.$refs.questionBankCrud.toggleSelection();
- });
- },
-
- //导出数据
- handleExport() {
- this.$confirm("是否导出清册数据?", "提示", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- }).then(() => {
- window.open(`/api/apply/export-apply?examId=${this.$route.query.id}`);
- });
- },
- 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);
- },
+ 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;
}
-}
+ },
+ mounted() {
+ var flag = false,
+ i = 0,
+ ind = null;
+ this.$store.state.tags.tagList.forEach((item, index) => {
+ if (item.label == "报名清册") {
+ if (flag == false) {
+ ind = index;
+ flag = true;
+ }
+ i++;
+ }
+ });
+ if (i > 1) {
+ this.$store.state.tags.tagList.splice(ind, 1);
+ }
+ },
+ computed: {
+ ...mapState({
+ userInfo: (state) => state.user.userInfo,
+ }),
+ ids() {
+ let ids = [];
+ this.questionBankSelectionList.forEach((ele) => {
+ ids.push(ele.id);
+ });
+ return ids.join(",");
+ },
+ },
+ methods: {
+ //准考证查看
+ handlePrint(row) {
+ var obj = row;
+ obj["name"] = "准考证信息";
+ this.$router.push({
+ path: `/applyexam/papers`,
+ query: obj,
+ });
+ },
+ //清册生成
+ handleExport() {
+ var obj ={};
+ obj["name"] = "报名清册信息";
+ obj["examId"] = this.$route.query.id;
+ this.$router.push({
+ path: `/applydetailed/papers`,
+ query: obj,
+ });
+ },
+ questionBankOnLoad(page, params = {}) {
+ // debugger;
+ params["examId"] = this.$route.query.id;
+ 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();
+ });
+ },
+ questionBankSelectionClear() {
+ this.questionBankSelectionList = [];
+ this.$refs.questionBankCrud.toggleSelection();
+ },
+ questionBankSelectionChange(list) {
+ this.questionBankSelectionList = list;
+ },
+ questionBankSearchChange(params, done) {
+ this.questionBankQuery = params;
+ this.questionBankPage.currentPage = 1;
+ this.questionBankOnLoad(this.questionBankPage, params);
+ done();
+ },
+ questionBankSearchReset() {
+ this.questionBankQuery = {};
+ this.questionBankOnLoad(this.questionBankPage);
+ },
+ questionBankCurrentChange(currentPage) {
+ this.questionBankPage.currentPage = currentPage;
+ },
+ questionBankSizeChange(pageSize) {
+ this.questionBankPage.pageSize = pageSize;
+ },
+
+ // 新增
+ questionBankRowSave(row, done, loading) {
+ addApply({
+ userId: row.name,
+ examId: row.examName,
+ applyTime: row.applyTime,
+ }).then(
+ () => {
+ this.questionBankOnLoad(this.questionBankPage);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ done();
+ },
+ (error) => {
+ window.console.log(error);
+ loading();
+ }
+ );
+ },
+
+ questionBankRowDel(row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ return remove(row.id);
+ })
+ .then(() => {
+ this.questionBankOnLoad(this.questionBankPage);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ });
+ },
+
+ questionBankHandleDelete() {
+ if (this.questionBankSelectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据");
+ return;
+ }
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ return remove(this.ids);
+ })
+ .then(() => {
+ this.questionBankOnLoad(this.questionBankPage);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ this.$refs.questionBankCrud.toggleSelection();
+ });
+ },
+
+
+ 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>
diff --git a/src/views/applydetailed/papers.vue b/src/views/applydetailed/papers.vue
new file mode 100644
index 0000000..70fee4a
--- /dev/null
+++ b/src/views/applydetailed/papers.vue
@@ -0,0 +1,40 @@
+<template>
+ <!-- <iframe src="http://124.71.113.22/map/index.html?openid=PatrolManagement" style="width: 100%;height: 100%" frameborder="0"></iframe> -->
+ <iframe :src="url" style="width: 100%; height: 100%" frameborder="0"></iframe>
+</template>
+
+<script>
+//占位路由 巡逻管理
+export default {
+ data() {
+ return {
+ url: "/papers.html",
+ };
+ },
+ created(){
+ var d = this.$route.query;
+ this.url += "?data=" + JSON.stringify(d);
+ // console.log(d);
+ },
+ mounted() {
+ var flag = false,
+ i = 0,
+ ind = null;
+ this.$store.state.tags.tagList.forEach((item, index) => {
+ if (item.label == "准考证信息") {
+ if (flag == false) {
+ ind = index;
+ flag = true;
+ }
+ i++;
+ }
+ });
+ if (i > 1) {
+ this.$store.state.tags.tagList.splice(ind, 1);
+ }
+ },
+};
+</script>
+
+<style>
+</style>
\ No newline at end of file
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>
diff --git a/src/views/companyApply/index.vue b/src/views/companyApply/index.vue
index 3c424b8..01b9afb 100644
--- a/src/views/companyApply/index.vue
+++ b/src/views/companyApply/index.vue
@@ -36,7 +36,7 @@
plain
icon="el-icon-folder-checked"
@click="handleBatchApply"
- >报 名
+ >批量报名
</el-button>
</template>
--
Gitblit v1.9.3