From b93a670eb02613d9ce82e4cca02f9435cdd855b4 Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Thu, 16 Sep 2021 09:45:16 +0800
Subject: [PATCH] 解决冲突
---
src/views/applyexam/index.vue | 603 +++----
src/views/trainingRegistration/data.js | 331 ++++
src/views/securityUnit/index.vue | 1384 +++++++++--------
vue.config.js | 4
src/views/exam/examPayment.vue | 394 +++++
src/views/securityUnit/selfRecruitedSecurityGuard.vue | 16
src/views/securityUnit/armedEscort.vue | 16
src/api/applyexam/applyexam.js | 178 +-
src/views/trainingRegistration/index.vue | 1330 ++++++++++++-----
src/views/applydetailed/index.vue | 92 +
src/views/companyApply/index.vue | 81
src/api/exam/examPayment.js | 52
src/views/securityUnit/transRegionalcompany.vue | 16
src/views/exam/startexam.vue | 6
src/views/securityUnit/securityTraining.vue | 16
15 files changed, 3,009 insertions(+), 1,510 deletions(-)
diff --git a/src/api/applyexam/applyexam.js b/src/api/applyexam/applyexam.js
index 14e597d..7769502 100644
--- a/src/api/applyexam/applyexam.js
+++ b/src/api/applyexam/applyexam.js
@@ -1,120 +1,130 @@
import request from '@/router/axios';
export const getList = (current, size, params, deptId) => {
- return request({
- url: '/api/blade-user/page',
- method: 'get',
- params: {
- ...params,
- current,
- size,
- deptId,
- }
- })
+ return request({
+ url: '/api/blade-user/page',
+ method: 'get',
+ params: {
+ ...params,
+ current,
+ size,
+ deptId,
+ }
+ })
}
export const remove = (ids) => {
- return request({
- url: '/api/blade-user/remove',
- method: 'post',
- params: {
- ids,
- }
- })
+ return request({
+ url: '/api/blade-user/remove',
+ method: 'post',
+ params: {
+ ids,
+ }
+ })
}
export const add = (row) => {
- return request({
- url: '/api/blade-user/submit',
- method: 'post',
- data: row
- })
+ return request({
+ url: '/api/blade-user/submit',
+ method: 'post',
+ data: row
+ })
}
export const update = (row) => {
- return request({
- url: '/api/blade-user/update',
- method: 'post',
- data: row
- })
+ return request({
+ url: '/api/blade-user/update',
+ method: 'post',
+ data: row
+ })
}
export const updatePlatform = (userId, userType, userExt) => {
- return request({
- url: '/api/blade-user/update-platform',
- method: 'post',
- params: {
- userId,
- userType,
- userExt,
- }
- })
+ return request({
+ url: '/api/blade-user/update-platform',
+ method: 'post',
+ params: {
+ userId,
+ userType,
+ userExt,
+ }
+ })
+}
+
+export const getApplyDetailList = (examId) => {
+ return request({
+ url: '/api/apply/getApplyDetailList',
+ method: 'get',
+ params: {
+ examId,
+ }
+ })
}
export const getUser = (id) => {
- return request({
- url: '/api/blade-user/detail',
- method: 'get',
- params: {
- id,
- }
- })
+ return request({
+ url: '/api/blade-user/detail',
+ method: 'get',
+ params: {
+ id,
+ }
+ })
}
export const getUserPlatform = (id) => {
- return request({
- url: '/api/blade-user/platform-detail',
- method: 'get',
- params: {
- id,
- }
- })
+ return request({
+ url: '/api/blade-user/platform-detail',
+ method: 'get',
+ params: {
+ id,
+ }
+ })
}
export const getUserInfo = () => {
- return request({
- url: '/api/blade-user/info',
- method: 'get',
- })
+ return request({
+ url: '/api/blade-user/info',
+ method: 'get',
+ })
}
export const resetPassword = (userIds) => {
- return request({
- url: '/api/blade-user/reset-password',
- method: 'post',
- params: {
- userIds,
- }
- })
+ return request({
+ url: '/api/blade-user/reset-password',
+ method: 'post',
+ params: {
+ userIds,
+ }
+ })
}
export const updatePassword = (oldPassword, newPassword, newPassword1) => {
- return request({
- url: '/api/blade-user/update-password',
- method: 'post',
- params: {
- oldPassword,
- newPassword,
- newPassword1,
- }
- })
+ return request({
+ url: '/api/blade-user/update-password',
+ method: 'post',
+ params: {
+ oldPassword,
+ newPassword,
+ newPassword1,
+ }
+ })
}
export const updateInfo = (row) => {
- return request({
- url: '/api/blade-user/update-info',
- method: 'post',
- data: row
- })
+ return request({
+ url: '/api/blade-user/update-info',
+ method: 'post',
+ data: row
+ })
}
export const grant = (userIds, roleIds) => {
- return request({
- url: '/api/blade-user/grant',
- method: 'post',
- params: {
- userIds,
- roleIds,
- }
- })
-}
+ return request({
+ url: '/api/blade-user/grant',
+ method: 'post',
+ params: {
+ userIds,
+ roleIds,
+ }
+ })
+}
\ No newline at end of file
diff --git a/src/api/exam/examPayment.js b/src/api/exam/examPayment.js
new file mode 100644
index 0000000..3c41947
--- /dev/null
+++ b/src/api/exam/examPayment.js
@@ -0,0 +1,52 @@
+import request from '@/router/axios';
+
+
+export const getExamPaymentList = (current, size, params) => {
+ return request({
+ url: '/api/examPayment/page',
+ method: 'get',
+ params: {
+ ...params,
+ current,
+ size
+ }
+ })
+}
+
+
+export const remove = (ids) => {
+ return request({
+ url: '/api/examPayment/remove',
+ method: 'post',
+ params: {
+ ids,
+ }
+ })
+}
+
+export const add = (row) => {
+ return request({
+ url: '/api/examPayment/submit',
+ method: 'post',
+ data: row
+ })
+}
+
+export const update = (row) => {
+ return request({
+ url: '/api/examPayment/submit',
+ method: 'post',
+ data: row
+ })
+}
+
+
+export const getExamPayment = (id) => {
+ return request({
+ url: '/api/examPayment/detail',
+ method: 'get',
+ params: {
+ id,
+ }
+ })
+}
\ No newline at end of file
diff --git a/src/views/applydetailed/index.vue b/src/views/applydetailed/index.vue
index e813954..22310e7 100644
--- a/src/views/applydetailed/index.vue
+++ b/src/views/applydetailed/index.vue
@@ -34,17 +34,25 @@
type="warning"
size="small"
plain
- icon="el-icon-download"
+ icon="el-icon-position"
+ @click="handleImport1"
+ >报名清册生成
+ </el-button>
+ <el-button
+ type="warning"
+ size="small"
+ plain
+ icon="el-icon-receiving"
@click="handleExport"
- >清册打印
+ >报名清册打印
</el-button>
<el-button
type="success"
size="small"
plain
- icon="el-icon-receiving"
+ icon="el-icon-upload2"
@click="handleImport"
- >清册导入
+ >报名清册附件上传
</el-button>
</template>
@@ -78,6 +86,55 @@
</template>
</avue-form>
</el-dialog>
+ <el-dialog
+ title="报名清册生成"
+ append-to-body
+ :visible.sync="excelBox1"
+ width="1200px"
+ >
+ <el-table
+ :data="tableData"
+ :span-method="arraySpanMethod"
+ border
+ style="width: 100%">
+
+ <template slot-scope="{ row }" slot="sex">
+ {{row.sex==1?"男":row.sex==2?"女":row.sex==-1?'':row.sex}}
+ </template>
+ <el-table-column
+ prop="realName"
+ label="姓名">
+ </el-table-column>
+ <el-table-column
+ prop="idCardNo"
+ label="身份证号">
+ </el-table-column>
+ <el-table-column
+ prop="sex"
+ label="性别">
+ <template slot-scope="scope">
+ {{scope.row.sex==1?"男":scope.row.sex==2?"女":scope.row.sex==-1?'':scope.row.sex}}
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="candidateNo"
+ label="准考证号">
+ </el-table-column>
+ <el-table-column
+ prop="deptName"
+ width="180"
+ label="单位名称">
+ </el-table-column>
+ <el-table-column
+ prop="applyCard"
+ label="报考证件">
+ </el-table-column>
+ <el-table-column
+ prop="applyTime"
+ label="报名时间">
+ </el-table-column>
+ </el-table>
+ </el-dialog>
</div>
</el-card>
</el-col>
@@ -86,6 +143,7 @@
<script>
import { getApplyList, addApply, remove } from "@/api/examapi/applyexam";
+import { getApplyDetailList } from "@/api/applyexam/applyexam";
import { mapState } from "vuex";
var DIC = {
@@ -105,10 +163,12 @@
data() {
var examId = this.$route.query.id;
return {
+ tableData:[],
obj: {
name: "张三",
},
excelBox: false,
+ excelBox1: false,
questionBankOption: {
// 操作栏多余按钮去除
delBtn: false,
@@ -118,6 +178,7 @@
menu: true,
// 导出按钮
// excelBtn: true,
+ // excelBtnText:"报名清册生成",
viewBtn: false,
// title: '题库',
@@ -538,7 +599,7 @@
questionBankOnLoad(page, params = {}) {
// debugger;
params["examId"] = this.$route.query.id;
- // params["applyStatus"] = 2;
+ params["applyStatus"] = 3;
this.questionBankLoading = false;
getApplyList(
page.currentPage,
@@ -639,10 +700,29 @@
});
},
-
handleImport() {
this.excelBox = true;
},
+ handleImport1() {
+ this.excelBox1 = true;
+ //获取报名信息
+ getApplyDetailList(this.$route.query.id).then((res)=>{
+ // console.log(res.data,111452);
+ this.tableData = res.data.applyList;
+ this.tableData.push({
+ realName:"总人数",
+ idCardNo:res.data.num
+ })
+ })
+ },
+ arraySpanMethod({ rowIndex, columnIndex }) {
+ // console.log(rowIndex,columnIndex,333);
+ if(rowIndex == (this.tableData.length-1)){
+ if (columnIndex === 0) {
+ return [1, 6];
+ }
+ }
+ },
handleTemplate() {
window.open(`/api/apply/export-template`);
},
diff --git a/src/views/applyexam/index.vue b/src/views/applyexam/index.vue
index bf9a8f8..ca1296b 100644
--- a/src/views/applyexam/index.vue
+++ b/src/views/applyexam/index.vue
@@ -75,7 +75,7 @@
plain
icon="el-icon-folder-checked"
v-if="permission.applyexam_import"
- @click="handleImport"
+ @click="handleImport"
>批量报名
</el-button>
</template>
@@ -103,7 +103,7 @@
:type="type"
size="small"
icon="el-icon-receiving"
- v-if="permission.applyexam_print && row.candidateNo!=''"
+ v-if="permission.applyexam_print && row.candidateNo != ''"
@click="handlePrint(row)"
>准考证打印
</el-button>
@@ -181,6 +181,7 @@
import { mapState } from "vuex";
import { mapGetters } from "vuex";
import { getRoleDetail } from "@/api/system/role";
+import { getUserDetails } from "@/api/experience/experience"
var DIC = {
applyStatus: [
{
@@ -197,6 +198,9 @@
export default {
data() {
return {
+ obj:{
+ userId:''
+ },
dialogFormVisible: false,
dialogExamFormVisible: false,
examPersission: false,
@@ -302,15 +306,15 @@
{
label: "考试人数",
prop: "number",
- type: 'number',
+ type: "number",
span: 12,
- precision:0,
- step:50,
- mock:{
- type:'number',
- max:1000,
- min:0,
- precision:0
+ precision: 0,
+ step: 50,
+ mock: {
+ type: "number",
+ max: 1000,
+ min: 0,
+ precision: 0,
},
rules: [
{
@@ -321,22 +325,22 @@
],
minRows: 0,
maxRows: 1000,
- value:50,
+ value: 50,
},
{
label: "序号开始",
prop: "serialStart",
span: 6,
- value:1,
- mock:{
- type:'number',
- max:1000,
- min:1,
- precision:0
+ value: 1,
+ mock: {
+ type: "number",
+ max: 1000,
+ min: 1,
+ precision: 0,
},
minRows: 1,
maxRows: 1000,
- type:"number",
+ type: "number",
rules: [
{
required: true,
@@ -349,16 +353,16 @@
label: "序号结束",
prop: "serialEnd",
span: 6,
- value:50,
- mock:{
- type:'number',
- max:1000,
- min:1,
- precision:0
+ value: 50,
+ mock: {
+ type: "number",
+ max: 1000,
+ min: 1,
+ precision: 0,
},
minRows: 1,
maxRows: 1000,
- type:"number",
+ type: "number",
rules: [
{
required: true,
@@ -427,7 +431,8 @@
// 操作栏多余按钮去除
delBtn: false,
editBtn: false,
- addBtn: false,
+ addBtn: true,
+ addBtnText: "报名信息新增",
selection: false,
menu: true,
// 导出按钮
@@ -450,13 +455,55 @@
defaultExpandAll: true,
// 操作栏宽度
menuWidth: 250,
-
column: [
+ {
+ label: "报名时间",
+ prop: "releaseTimeRange",
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ searchRange: true,
+ searchSpan: 5,
+ hide: true,
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ search: true,
+ rules: [
+ {
+ required: true,
+ message: "请输入时间",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: "保安公司名称",
+ searchLabelWidth: "110",
+ labelWidth: 110,
+ cascaderItem: ["userId"],
+ prop: "deptId",
+ type: "tree",
+ hide: true,
+ viewDisabled:false,
+ viewDisplay:false,
+ dicUrl:
+ "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697",
+ props: {
+ label: "title",
+ value: "id",
+ },
+ slot: true,
+ searchSpan: 4,
+ search: false,
+ width: 260,
+ },
{
label: "保安姓名",
prop: "userId",
type: "tree",
- dicUrl: "",
+ dicUrl:
+ "/api/blade-user/security-apply-tree?examType=1&deptId={{key}}",
hide: true,
slot: true,
searchSpan: 4,
@@ -475,7 +522,7 @@
// 表单编辑时是否为查看模式
editDetail: false,
props: {
- label: "title",
+ label: "name",
value: "id",
},
rules: [
@@ -522,107 +569,17 @@
prop: "age",
slot: true,
// 表单新增时是否禁止
- addDisabled: false,
+ addDisabled: true,
// 表单新增时是否可见
- addDisplay: false,
- // 表单新增时是否为查看模式
- addDetail: false,
- // 表单编辑时是否禁止
- editDisabled: false,
- // 表单编辑时是否可见
- editDisplay: false,
- // 表单编辑时是否为查看模式
- editDetail: false,
+ addDisplay: true,
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: 6,
- // 表单新增时是否禁止
- 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,
+ search: true,
+ searchSpan: 5,
// 表单新增时是否禁止
addDisabled: false,
// 表单新增时是否可见
@@ -645,21 +602,14 @@
width: 150,
},
{
- label: "报考证件",
- prop: "applyCard",
- slot: true,
+ label: "身份证号",
+ prop: "cardid",
+ searchSpan: 5,
// 表单新增时是否禁止
- addDisabled: false,
+ addDisabled: true,
// 表单新增时是否可见
- addDisplay: false,
- // 表单新增时是否为查看模式
- addDetail: false,
- // 表单编辑时是否禁止
- editDisabled: false,
- // 表单编辑时是否可见
- editDisplay: true,
- // 表单编辑时是否为查看模式
- editDetail: false,
+ addDisplay: true,
+ hide:true,
rules: [
{
required: true,
@@ -667,23 +617,108 @@
trigger: "blur",
},
],
+ width: 150,
+ },
+ {
+ label: "性别",
+ prop: "sex",
+ type: "select",
+ // 表单新增时是否禁止
+ addDisabled: true,
+ // 表单新增时是否可见
+ addDisplay: true,
+ dicData: [
+ {
+ label: "男",
+ value: 1,
+ },
+ {
+ label: "女",
+ value: 2,
+ },
+ {
+ label: "未知",
+ value: 3,
+ },
+ {
+ label: " ",
+ value: -1,
+ },
+ ],
+ display: false,
+ },
+
+ {
+ label: "籍贯",
+ prop: "nativePlace",
+ // 表单新增时是否禁止
+ addDisabled: true,
+ // 表单新增时是否可见
+ addDisplay: true,
+ },
+ {
+ label: "联系电话",
+ prop: "phone",
+ // 表单新增时是否禁止
+ addDisabled: true,
+ // 表单新增时是否可见
+ addDisplay: true,
+ },
+ {
+ label: "保安公司名称",
+ labelWidth: "110",
+ addDisplay: false,
+ prop: "deptName",
+ width: 260,
},
// {
- // label: "试卷分数",
- // prop: "paperScore",
- // slot: true,
- // // 表单新增时是否禁止
- // addDisabled: false,
- // // 表单新增时是否可见
- // addDisplay: false,
- // // 表单新增时是否为查看模式
- // addDetail: false,
- // // 表单编辑时是否禁止
- // editDisabled: true,
- // // 表单编辑时是否可见
- // editDisplay: true,
- // // 表单编辑时是否为查看模式
- // editDetail: false
+ // 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: "applyCard",
+ // slot: true,
+ // // 表单新增时是否禁止
+ // addDisabled: false,
+ // // 表单新增时是否可见
+ // addDisplay: false,
+ // // 表单新增时是否为查看模式
+ // addDetail: false,
+ // // 表单编辑时是否禁止
+ // editDisabled: false,
+ // // 表单编辑时是否可见
+ // editDisplay: true,
+ // // 表单编辑时是否为查看模式
+ // editDetail: false,
+ // rules: [
+ // {
+ // required: true,
+ // message: "请选择准考证号",
+ // trigger: "blur",
+ // },
+ // ],
// },
{
label: "报名时间",
@@ -729,105 +764,39 @@
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: "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,
- // },
+ {
+ label: "报名状态",
+ prop: "applyStatus",
+ search: true,
+ searchSpan: 4,
+ type: "select",
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: false,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: true,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ dicData: [
+ {
+ label: "全部",
+ value: 1,
+ },
+ {
+ label: "已报名",
+ value: 2,
+ },
+ {
+ label: "已取消",
+ value: 4,
+ },
+ ],
+ },
],
},
questionBankSearch: {},
@@ -844,24 +813,18 @@
},
watch: {
- "form.examname": {
+ "obj.userId": {
// 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
- );
- }
+ if(val){
+ //查询用户信息
+ getUserDetails(this.userId).then((res)=>{
+ var data = res.data.data;
+ this.obj.cardid = data.cardid;
+ this.obj.age = data.age;
+ this.obj.nativeplace = data.nativeplace;
+ this.obj.phone = data.phone;
+ })
}
},
immediate: true,
@@ -874,17 +837,19 @@
this.examPersission = true;
}
- this.questionBankSearch['applyStatus'] = 2;
+ this.questionBankSearch["applyStatus"] = 2;
},
mounted() {},
computed: {
...mapState({
userInfo: (state) => state.user.userInfo,
}),
+
...mapGetters(["userInfo", "permission"]),
+
permissionList() {
return {
- addBtn: this.vaildData(null, false),
+ addBtn: this.vaildData(this.permission.applyexam_add, false),
viewBtn: this.vaildData(this.permission.applyexam_view, false),
delBtn: this.vaildData(null, false),
editBtn: this.vaildData(null, false),
@@ -896,6 +861,10 @@
ids.push(ele.id);
});
return ids.join(",");
+ },
+ userId() {
+ var d = this.obj.userId + "";
+ return d;
},
},
methods: {
@@ -918,27 +887,46 @@
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();
- });
- })
- })
+ var roleAlias = res.data.data.roleAlias;
+ if (roleAlias == "保安公司管理员" || roleAlias == "保安") {
+ //如果是保安公司管理员
+ params["deptId"] = that.userInfo.dept_id;
+ }
+
+ // const { releaseTimeRange } = this.questionBankSearch;
+ const { releaseTimeRange } = this.questionBankQuery;
+
+ var values;
+
+ // console.log(releaseTimeRange, 123);
+ if (releaseTimeRange) {
+ values = {
+ ...params,
+ beginTime: releaseTimeRange[0],
+ overTime: releaseTimeRange[1],
+ ...this.questionBankQuery,
+ };
+ values.releaseTimeRange = null;
+ } else {
+ values = {
+ ...params,
+ ...this.questionBankQuery,
+ };
+ }
+ getApplyList(
+ page.currentPage,
+ page.pageSize,
+ // Object.assign(values, this.questionBankQuery)
+ values
+ ).then((res) => {
+ const data = res.data.data;
+ this.questionBankPage.total = data.total;
+ this.questionBankData = data.records;
+ this.questionBankLoading = false;
+ this.questionBankSelectionClear();
+ });
+ });
+ });
},
questionBankSelectionClear() {
this.questionBankSelectionList = [];
@@ -954,7 +942,9 @@
done();
},
questionBankSearchReset() {
- this.questionBankQuery = {};
+ this.questionBankQuery = {
+ applyStatus:1,
+ };
this.questionBankOnLoad(this.questionBankPage);
},
questionBankCurrentChange(currentPage) {
@@ -967,11 +957,8 @@
// 新增
questionBankRowSave(row, done, loading) {
// debugger;
- addApply({
- userId: row.userId,
- examId: row.examName,
- applyTime: row.applyTime,
- }).then(
+ console.log(row,11111);
+ addApply(row).then(
(res) => {
this.questionBankOnLoad(this.questionBankPage);
if (res.data.data == 201) {
@@ -1011,24 +998,24 @@
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();
- return;
+ if (row.number != row.serialEnd - row.serialStart + 1) {
+ this.$message({
+ type: "error",
+ message: "考试人数与序号不匹配!",
+ });
+ done();
+ return;
}
var s = new Date(row.startTime);
var e = new Date(row.endTime);
- if(s>e){
+ if (s > e) {
this.$message({
- type: "error",
- message: "截止时间不能早于考试考试开始时间!",
- });
- done();
- return;
+ type: "error",
+ message: "截止时间不能早于考试考试开始时间!",
+ });
+ done();
+ return;
}
addExam(Object.assign(row, this.questionBankSearch)).then(
() => {
diff --git a/src/views/companyApply/index.vue b/src/views/companyApply/index.vue
index 6627bc6..4415aec 100644
--- a/src/views/companyApply/index.vue
+++ b/src/views/companyApply/index.vue
@@ -32,6 +32,7 @@
<!-- 自定义按钮 -->
<template slot="menuLeft">
<el-button
+ style="display:none"
type="primary"
size="small"
plain
@@ -153,7 +154,7 @@
index: true,
stripe: true,
viewBtn: false,
- addBtn: false,
+ addBtn: true,
selection: true,
excelBtn: false,
menuWidth: 230,
@@ -241,15 +242,13 @@
// 操作栏多余按钮去除
delBtn: false,
editBtn: false,
- addBtn: false,
+ addBtn: true,
selection: true,
menu: true,
// 导出按钮
// excelBtn: true,
viewBtn: false,
-
- // title: '题库',
-
+ addBtnText:"报名信息新增",
align: "center",
height: "auto",
calcHeight: 80,
@@ -267,12 +266,34 @@
column: [
{
- label: "姓名",
+ label: "保安公司名称",
+ searchLabelWidth: "110",
+ // prop: "deptName",
+ prop: "deptId",
+ type: "tree",
+ hide:true,
+ dicUrl:
+ "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697",
+ props: {
+ label: "title",
+ value: "id",
+ },
+ slot: true,
+ searchSpan: 4,
+ search: false,
+ width: 260,
+ },
+ {
+ label: "保安员",
prop: "realName",
search: true,
searchSpan: 4,
- searchLabelWidth: 50,
- display: false,
+ searchLabelWidth: 100,
+ },
+ {
+ label: "身份证号",
+ prop: "cardid",
+ width:150,
},
{
label: "性别",
@@ -302,36 +323,13 @@
{
label: "籍贯",
prop: "nativeplace",
- display: false,
},
{
label: "联系电话",
prop: "phone",
- display: false,
},
- {
- label: "入职时间",
- prop: "rtime",
- display: false,
- },
- {
- label: "保安公司名称",
- searchLabelWidth: "110",
- // prop: "deptName",
- prop: "deptId",
- type: "tree",
- dicUrl:
- "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697",
- props: {
- label: "title",
- value: "id",
- },
- slot: true,
- searchSpan: 4,
- display: false,
- search: false,
- width: 260,
- },
+
+
{
label: "是否持证",
prop: "hold",
@@ -350,6 +348,21 @@
trigger: "blur",
},
],
+ },
+ {
+ label: "保安公司名称",
+ searchLabelWidth: "110",
+ prop: "deptName",
+ // prop: "deptId",
+ type: "tree",
+ // dicUrl:
+ // "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697",
+ // props: {
+ // label: "title",
+ // value: "id",
+ // },
+ search: false,
+ width: 260,
},
{
label: "在职状态",
@@ -443,7 +456,7 @@
...mapGetters(["userInfo", "permission"]),
permissionList() {
return {
- addBtn: this.vaildData(null, false),
+ addBtn: this.vaildData(this.permission.company_add, false),
viewBtn: this.vaildData(null, false),
delBtn: this.vaildData(null, false),
editBtn: this.vaildData(null, false),
diff --git a/src/views/exam/examPayment.vue b/src/views/exam/examPayment.vue
new file mode 100644
index 0000000..6ea508b
--- /dev/null
+++ b/src/views/exam/examPayment.vue
@@ -0,0 +1,394 @@
+/*
+ * @Author: Morpheus
+ * @Date: 2021-07-05 16:31:54
+ * @Last Modified by: Morpheus
+ * @Last Modified time: 2021-07-18 19:44:47
+ * menu-name 考试缴费管理
+ */
+<template>
+ <el-row class="morpheus-box">
+ <el-col :span="24" class="recruitmentManagement">
+ <el-card>
+ <div class="exam-card-body">
+ <avue-crud
+ v-model="obj"
+ class="company-box"
+ :option="questionBankOption"
+ :permission="permissionList"
+ :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-del="rowDel"
+ @row-update="questionBankRowUpdate"
+ >
+ <template slot-scope="{ row }" slot="sex">
+ <el-tag v-if="row.sex == 1">男</el-tag>
+ <el-tag v-if="row.sex == 2">女</el-tag>
+ </template>
+
+ <!-- 自定义按钮 -->
+ <template slot="menuLeft">
+ <!-- <el-button type="danger"
+ size="mini"
+ icon="el-icon-delete"
+ plain
+ @click="handleDelete">新增
+ </el-button> -->
+ <!-- <el-button type="danger"
+ size="mini"
+ icon="el-icon-delete"
+ plain
+ @click="handleDelete">删除
+ </el-button> -->
+ <el-button
+ type="success"
+ size="small"
+ plain
+ icon="el-icon-upload2"
+ v-if="permission.performance_import"
+ @click="handleImport"
+ >缴费凭证批量上传
+ </el-button>
+ </template>
+
+ <template slot-scope="{ row }" slot="menu">
+ <el-button
+ style="display:none"
+ type="text"
+ size="mini"
+ icon="el-icon-collection"
+ class="start-kaoshi"
+ v-if="permission.performance_print"
+ :disabled="row.qualified==1"
+ @click="securityPrint(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"
+ >
+ </avue-form>
+ </el-dialog>
+ </div>
+ </el-card>
+ </el-col>
+ </el-row>
+</template>
+
+<script>
+import { getExamPaymentList, update,remove } from "@/api/exam/examPayment";
+import { mapGetters } from "vuex";
+import { getRoleDetail } from "@/api/system/role";
+
+export default {
+ data() {
+ return {
+ obj: {
+ name: "张三",
+ },
+ excelBox: false,
+ questionBankOption: {
+ // 操作栏多余按钮去除
+ delBtn: true,
+ editBtn: false,
+ addBtn: false,
+ selection: false,
+ viewBtn: true,
+ // title: '成绩',
+ align: "center",
+ height: "auto",
+ calcHeight: 80,
+ tip: false,
+ searchShow: true,
+ searchMenuSpan: 4,
+ index: true,
+ indexLabel: "序号",
+ dialogClickModal: false,
+ // 操作栏宽度
+ menu: true,
+ menuWidth: 186,
+ labelWidth: 120,
+
+ column: [
+ // {
+ // label: "缴费类型",
+ // prop: "type",
+ // dicData:[
+ // {
+ // label:"公司缴费",
+ // value: 1
+ // },
+ // {
+ // label:"个人缴费",
+ // value: 2
+ // }
+ // ],
+ // searchSpan: 4,
+ // search: true,
+ // type: "select",
+ // },
+ {
+ label: "缴费人",
+ prop: "realName",
+ search:true,
+ searchSpan:4,
+ },
+ {
+ label: "身份证号",
+ prop: "idCardNo",
+ search:true,
+ searchSpan:4,
+ },
+ {
+ label: "性别",
+ prop: "sex",
+ slot:true,
+ dicData: [
+ {
+ label:"男",
+ value:1
+ },
+ {
+ label:"女",
+ value:2
+ }
+ ],
+ },
+ {
+ label: "联系方式",
+ prop: "phone",
+ },
+ {
+ label: "所在单位",
+ prop: "deptName",
+ search:true,
+ searchSpan:6,
+ },
+ // {
+ // label: "缴费状态",
+ // prop: "paymentStatus",
+ // searchSpan: 4,
+ // search: true,
+ // dicData: [
+ // {
+ // label:"已缴费",
+ // value:1
+ // },
+ // {
+ // label:"未缴费",
+ // value:2
+ // },
+ // {
+ // label:"部分缴费",
+ // value:3
+ // },
+ // ],
+ // type: "select",
+ // },
+ {
+ label: "缴费凭证",
+ prop: "certificateUrl",
+ overHidden: true,
+ type: "upload",
+ listType: "picture-img",
+ },
+ {
+ label: "缴费时间",
+ prop: "paymentTime",
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ labelWidth: 120,
+ searchSpan: 4,
+ // search: true,
+ overHidden: true,
+ rules: [
+ {
+ required: true,
+ message: "请输入时间",
+ trigger: "click",
+ },
+ ],
+ },
+ ],
+ },
+ 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",
+ },
+ tip: "请上传 zip 压缩文件",
+ action: "/api/blade-resource/oss/endpoint/put-file-exam-payment-zip",
+ }
+ ],
+ },
+ };
+ },
+ computed:{
+ ...mapGetters(["userInfo", "permission"]),
+ permissionList() {
+ return {
+ addBtn: this.vaildData(null, false),
+ viewBtn: this.vaildData(this.permission.notice_view, false),
+ delBtn: this.vaildData(this.permission.notice_delete, false),
+ editBtn: this.vaildData(this.permission.performance__edit, false),
+ excelBtn: this.vaildData(this.permission.performance_export, false),
+ };
+ },
+ },
+ created() {},
+ mounted() {},
+ methods: {
+ questionBankOnLoad(page, params = {}) {
+ //判断角色,如果是保安公司管理员或保安,只能查看当前公司的考试成绩
+ 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 == "保安" ||
+ roleAlias == "未持证保安"
+ ) {
+ //如果是保安公司管理员
+ params["deptId"] = that.userInfo.dept_id;
+ }
+ that.questionBankLoading = false;
+ params["examType"] = 1;
+ getExamPaymentList(
+ page.currentPage,
+ page.pageSize,
+ Object.assign(params, this.query)
+ ).then((res) => {
+ const data = res.data.data;
+ that.questionBankPage.total = data.total;
+ that.questionBankData = data.records;
+ that.questionBankLoading = false;
+ that.questionBankSelectionClear();
+ });
+ })
+ });
+
+ },
+
+ rowDel(row) {
+ this.$confirm("确定删除当前缴费数据?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ return remove(row.id);
+ })
+ .then(() => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ });
+ },
+ 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;
+ },
+
+ questionBankRowUpdate(row, index, done, loading) {
+ // debugger;
+ update({
+ theoryGrade: row.theoryGrade,
+ learnGrade: row.learnGrade,
+ examId: row.examId,
+ id: row.id,
+ }).then(
+ () => {
+ this.questionBankOnLoad(this.questionBankPage);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ done();
+ },
+ (error) => {
+ window.console.log(error);
+ loading();
+ }
+ );
+ },
+ handleImport() {
+ this.excelBox = true;
+ },
+ 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>
+</style>
diff --git a/src/views/exam/startexam.vue b/src/views/exam/startexam.vue
index fc874e2..4462384 100644
--- a/src/views/exam/startexam.vue
+++ b/src/views/exam/startexam.vue
@@ -76,7 +76,7 @@
class="start-kaoshi"
v-if="permission.startexam_applyPapers"
@click="startExam(row)"
- >报名清册
+ >报名清册详情
</el-button>
</template>
</avue-crud>
@@ -281,8 +281,8 @@
display: false,
},
{
- label: "备注",
- prop: "remark",
+ label: "报名人数",
+ prop: "num",
span: 24,
slot: true,
// 表单新增时是否禁止
diff --git a/src/views/securityUnit/armedEscort.vue b/src/views/securityUnit/armedEscort.vue
index 66966f4..bbcbb44 100644
--- a/src/views/securityUnit/armedEscort.vue
+++ b/src/views/securityUnit/armedEscort.vue
@@ -739,4 +739,20 @@
cursor: pointer;
}
}
+
+.information-box {
+ .el-dialog {
+ position: fixed !important;
+ top: 0 !important;
+ left: 0 !important;
+ right: 0 !important;
+ bottom: 0 !important;
+ margin: auto !important;
+ height: 86% !important;
+
+ .el-dialog__body {
+ padding: 10px 20px !important;
+ }
+ }
+}
</style>
diff --git a/src/views/securityUnit/index.vue b/src/views/securityUnit/index.vue
index 9f6b96c..5c0a0f6 100644
--- a/src/views/securityUnit/index.vue
+++ b/src/views/securityUnit/index.vue
@@ -1,669 +1,719 @@
<template>
- <basic-container>
- <div class="securityUnit">
- <avue-crud
- :option="option"
- :data="data"
- :page.sync="page"
- ref="crudrec"
- @on-load="onLoad"
- :table-loading="loading"
- @row-save="rowSave"
- @search-change="searchChange"
- @search-reset="searchReset"
- @row-update="rowUpdate"
- @row-del="rowDel"
- @selection-change="selectionChange"
- @refresh-change="refreshChange"
- @row-click="rowClick"
- >
- <template slot-scope="{ type, size, row }" slot="menu">
- <el-button
- :size="size"
- :type="type"
- @click="handleUploadPage(row)"
- icon="el-icon-circle-check"
- >附件上传
- </el-button>
- </template>
- <template slot="menuLeft">
- <el-button
- type="primary"
- icon="el-icon-plus"
- size="small"
- plain
- @click.stop="rowSave"
- >新增</el-button
- >
- <el-button
- type="danger"
- size="small"
- plain
- icon="el-icon-delete"
- @click="handleDelete"
- >删 除
- </el-button>
- <el-button
- type="success"
- size="small"
- plain
- icon="el-icon-upload2"
- @click="handleImport1"
- >批量导入
- </el-button>
- </template>
- </avue-crud>
- <div class="lod" v-show="forms != -1">
- <div class="lod-in">
- <!-- <el-col class="trees" v-if="forms == 0">
- <div class="box">
- <el-scrollbar>
- <basic-container>
- <avue-tree
- :option="treeOption"
- :data="treeData"
- @node-click="nodeClick"
- />
- </basic-container>
- </el-scrollbar>
- </div>
- </el-col> -->
- <avue-form
- ref="form"
- v-model="obj0"
- :option="option0"
- v-if="forms == 0"
- >
- <template slot="menuForm">
- <el-button type="primary" @click="tip0">下一页</el-button>
- <el-button type="info" @click="tipover">取消</el-button>
- </template>
- </avue-form>
- <avue-form
- ref="form1"
- v-model="obj1"
- :option="option1"
- v-else-if="forms == 1"
- >
- <template slot="menuForm">
- <el-button type="primary" @click="tip1up1">上一页</el-button>
- <el-button type="primary" @click="tip1">下一页</el-button>
- <el-button type="info" @click="tipover">取消</el-button>
- </template>
- </avue-form>
- <avue-form
- ref="form2"
- v-model="obj2"
- :option="option2"
- v-else-if="forms == 2"
- >
- <template slot="menuForm">
- <el-button type="primary" @click="tip2up2">上一页</el-button>
- <el-button type="primary" @click="tip2">提交</el-button>
- <el-button type="info" @click="tipover">取消</el-button>
- </template>
- </avue-form>
+ <basic-container>
+ <div class="securityUnit">
+ <avue-crud :option="option"
+ :data="data"
+ :page.sync="page"
+ ref="crudrec"
+ @on-load="onLoad"
+ :table-loading="loading"
+ @row-save="rowSave"
+ @search-change="searchChange"
+ @search-reset="searchReset"
+ @row-update="rowUpdate"
+ @row-del="rowDel"
+ @selection-change="selectionChange"
+ @refresh-change="refreshChange"
+ @row-click="rowClick">
+ <template slot-scope="{ type, size, row }"
+ slot="menu">
+ <el-button :size="size"
+ :type="type"
+ @click="handleUploadPage(row)"
+ icon="el-icon-circle-check">附件上传
+ </el-button>
+ </template>
+ <template slot="menuLeft">
+ <el-button type="primary"
+ icon="el-icon-plus"
+ size="small"
+ plain
+ @click.stop="rowSave">信息登记</el-button>
+ <el-button type="danger"
+ size="small"
+ plain
+ icon="el-icon-delete"
+ @click="handleDelete">删 除
+ </el-button>
+ <el-button type="success"
+ size="small"
+ plain
+ icon="el-icon-upload2"
+ @click="handleImport1">批量导入
+ </el-button>
+ </template>
+ </avue-crud>
+
+ <el-dialog title="信息登记"
+ append-to-body
+ :visible.sync="forms"
+ :close-on-click-modal="false"
+ @close="tipover"
+ class="information-box"
+ width="60%">
+ <el-tabs v-model="activeName"
+ @tab-click="handleClick">
+ <el-tab-pane label="保安单位基本信息"
+ name="first">
+ <avue-form ref="form"
+ v-model="obj0"
+ :option="option0">
+ <template slot="menuForm"
+ align="center">
+ <el-button type="primary"
+ @click="submitAdd">提交</el-button>
+ <el-button type="info"
+ @click="tipover">取消</el-button>
+ </template>
+ </avue-form>
+ </el-tab-pane>
+ <el-tab-pane label="保安单位出资人员"
+ name="second">
+ <avue-form ref="form1"
+ v-model="obj1"
+ :option="option1">
+ <template slot="menuForm">
+ <el-button type="primary"
+ @click="submitAdd">提交</el-button>
+ <el-button type="info"
+ @click="tipover">取消</el-button>
+ </template>
+ </avue-form>
+ </el-tab-pane>
+ <el-tab-pane label="主要管理人员信息"
+ name="third">
+ <avue-form ref="form2"
+ v-model="obj2"
+ :option="option2">
+ <template slot="menuForm">
+ <el-button type="primary"
+ @click="submitAdd">提交</el-button>
+ <el-button type="info"
+ @click="tipover">取消</el-button>
+ </template>
+ </avue-form>
+ </el-tab-pane>
+ </el-tabs>
+ </el-dialog>
+
</div>
- </div>
- </div>
- <el-dialog
- title="保安单位导入"
- append-to-body
- :visible.sync="excelBox1"
- width="555px"
- >
- <avue-form
- :option="excelOption1"
- v-model="excelForm1"
- :upload-after="uploadAfter1"
- >
- <template slot="excelTemplate">
- <el-button type="primary" @click="handleTemplate1">
- 点击下载<i class="el-icon-download el-icon--right"></i>
- </el-button>
- </template>
- </avue-form>
- </el-dialog>
- </basic-container>
+ <el-dialog title="保安单位导入"
+ append-to-body
+ :visible.sync="excelBox1"
+ width="555px">
+ <avue-form :option="excelOption1"
+ v-model="excelForm1"
+ :upload-after="uploadAfter1">
+ <template slot="excelTemplate">
+ <el-button type="primary"
+ @click="handleTemplate1">
+ 点击下载<i class="el-icon-download el-icon--right"></i>
+ </el-button>
+ </template>
+ </avue-form>
+ </el-dialog>
+ </basic-container>
</template>
<script>
import { column, column0, column1, column2 } from "./data";
import {
- getdata,
- adddata,
- update,
- remove,
- adddata1,
- adddata2,
- getDeptLazyTree,
+ getdata,
+ adddata,
+ update,
+ remove,
+ adddata1,
+ adddata2,
+ getDeptLazyTree,
} from "@/api/securityUnit/securityUnit";
import { mapGetters } from "vuex";
export default {
- data() {
- var w = 160,
- s = 12;
- return {
- excelBox1: false,
- excelForm1: {},
- excelOption1: {
- submitBtn: false,
- emptyBtn: false,
- column: [
- {
- label: "文件上传",
- prop: "excelFile",
- type: "upload",
- drag: true,
- loadText: "文件上传中,请稍等",
- span: 24,
- propsHttp: {
- res: "data",
+ data () {
+ var w = 160,
+ s = 12;
+ return {
+ excelBox1: false,
+ excelForm1: {},
+ excelOption1: {
+ submitBtn: false,
+ emptyBtn: false,
+ column: [
+ {
+ label: "文件上传",
+ prop: "excelFile",
+ type: "upload",
+ drag: true,
+ loadText: "文件上传中,请稍等",
+ span: 24,
+ propsHttp: {
+ res: "data",
+ },
+ tip: "请上传 .xls,.xlsx 标准格式文件",
+ action: "/api/information/import-informaton",
+ },
+ {
+ label: "模板下载",
+ prop: "excelTemplate",
+ formslot: true,
+ span: 24,
+ },
+ ],
},
- tip: "请上传 .xls,.xlsx 标准格式文件",
- action: "/api/information/import-informaton",
- },
- {
- label: "模板下载",
- prop: "excelTemplate",
- formslot: true,
- span: 24,
- },
- ],
- },
- loading: true, //保安单位基本信息
- selectionList: [],
- page: {
- pageSize: 10,
- currentPage: 1,
- total: 0,
- },
-
- treeData: [],
- treeOption: {
- title: "我是标题",
- filterText: "搜索关键字自定义",
- defaultExpandAll: true,
- addBtn: false,
- menu: false,
- size: "small",
- formOption: {
- labelWidth: 100,
- column: [
- {
- label: "自定义项",
- prop: "label",
+ loading: true, //保安单位基本信息
+ selectionList: [],
+ page: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0,
},
- ],
+
+ treeData: [],
+ treeOption: {
+ title: "我是标题",
+ filterText: "搜索关键字自定义",
+ defaultExpandAll: true,
+ addBtn: false,
+ menu: false,
+ size: "small",
+ formOption: {
+ labelWidth: 100,
+ column: [
+ {
+ label: "自定义项",
+ prop: "label",
+ },
+ ],
+ },
+ props: {
+ labelText: "标题",
+ label: "title",
+ value: "id",
+ children: "children",
+ },
+ },
+ // treeOption: {
+ // nodeKey: "id",
+ // // lazy: true,
+ // // treeLoad: function (node, resolve) {
+ // // // const parentId = node.level === 0 ? 0 : node.data.id;
+ // // getDeptLazyTree().then((res) => {
+ // // resolve(
+ // // res.data.data.map((item) => {
+ // // console.log({
+ // // ...item,
+ // // leaf: !item.hasChildren,
+ // // });
+ // // return {
+ // // ...item,
+ // // leaf: !item.hasChildren,
+ // // };
+ // // })
+ // // );
+ // // });
+ // // },
+ // addBtn: false,
+ // menu: false,
+ // size: "small",
+ // props: {
+ // labelText: "标题",
+ // label: "title",
+ // value: "value",
+ // children: "children",
+ // },
+ // },
+
+ obj0: {
+ creditcode: "",
+ jurisdiction: "",
+ stats: "",
+ enterprisename: "",
+ representative: "",
+ establishtime: "",
+ registeredcapital: "",
+ capital: "",
+ organizationcode: "",
+ registrationnumber: "",
+ identificationnumber: "",
+ enterprises: "",
+ address: "",
+ business: "",
+ region: "",
+ registration: "",
+ industry: "",
+ },
+ obj1: {
+ creditcode: "",
+ shareholder: "",
+ shareholdingratio: "",
+ capital2: "",
+ capitaltime: "",
+ cardid: "",
+ cell: "",
+ },
+ obj2: {
+ creditcode: "",
+ name: "",
+ post: "",
+ cardid2: "",
+ cell2: "",
+ },
+ option0: {
+ emptyBtn: false,
+ submitBtn: false,
+ gutter: 30,
+ column: column0,
+ },
+
+ option1: {
+ emptyBtn: false,
+ submitBtn: false,
+ gutter: 30,
+ column: column1,
+ },
+
+ option2: {
+ emptyBtn: false,
+ submitBtn: false,
+ gutter: 30,
+ column: column2,
+ },
+
+ forms: false,
+ data0: {},
+ data1: {},
+ data2: {},
+ b0: {},
+ b1: {},
+ b2: {},
+ noshehuibianma: 0,
+ nobumen: 0,
+
+ query: {},
+ data: [],
+ option: {
+ index: true,
+ addBtn: false,
+ // card: true,
+ tip: false,
+ searchSize: "mini",
+ searchMenuSpan: 6,
+ height: 583,
+ menuWidth: 220,
+ align: "center",
+ selection: true,
+ column: column,
+ addTitle: "信息登记",
+ addBtnText: "信息登记",
+ },
+
+ activeName: "first",
+ };
+ },
+ computed: {
+ ...mapGetters(["userInfo"]),
+ ids () {
+ let ids = [];
+ this.selectionList.forEach((ele) => {
+ ids.push(ele.creditcode);
+ });
+ return ids.join(",");
},
- props: {
- labelText: "标题",
- label: "title",
- value: "id",
- children: "children",
+ ids1 () {
+ let ids1 = [];
+ this.selectionList1.forEach((ele) => {
+ ids1.push(ele.id);
+ });
+ return ids1.join(",");
},
- },
- // treeOption: {
- // nodeKey: "id",
- // // lazy: true,
- // // treeLoad: function (node, resolve) {
- // // // const parentId = node.level === 0 ? 0 : node.data.id;
- // // getDeptLazyTree().then((res) => {
- // // resolve(
- // // res.data.data.map((item) => {
- // // console.log({
- // // ...item,
- // // leaf: !item.hasChildren,
- // // });
- // // return {
- // // ...item,
- // // leaf: !item.hasChildren,
- // // };
- // // })
- // // );
- // // });
- // // },
- // addBtn: false,
- // menu: false,
- // size: "small",
- // props: {
- // labelText: "标题",
- // label: "title",
- // value: "value",
- // children: "children",
- // },
- // },
-
- obj0: {
- title0: "保安单位基本信息",
- },
- option0: {
- emptyBtn: false,
- submitBtn: false,
- gutter: 30,
- column: column0,
- },
- obj1: {
- title1: "保安单位出资人员",
- },
- option1: {
- emptyBtn: false,
- submitBtn: false,
- gutter: 30,
- column: column1,
- },
- obj2: {
- title2: "主要管理人员信息",
- },
- option2: {
- emptyBtn: false,
- submitBtn: false,
- gutter: 30,
- column: column2,
- },
-
- forms: -1,
- data0: {},
- data1: {},
- data2: {},
- b0: {},
- b1: {},
- b2: {},
- noshehuibianma: 0,
- nobumen: 0,
-
- query: {},
- data: [],
- option: {
- index: true,
- addBtn: false,
- // card: true,
- tip: false,
- searchSize: "mini",
- searchMenuSpan: 6,
- height: 583,
- menuWidth: 220,
- align: "center",
- selection: true,
- column: column,
- },
- };
- },
- computed: {
- ...mapGetters(["userInfo"]),
- ids() {
- let ids = [];
- this.selectionList.forEach((ele) => {
- ids.push(ele.creditcode);
- });
- return ids.join(",");
- },
- ids1() {
- let ids1 = [];
- this.selectionList1.forEach((ele) => {
- ids1.push(ele.id);
- });
- return ids1.join(",");
- },
- ids2() {
- let ids2 = [];
- this.selectionList2.forEach((ele) => {
- ids2.push(ele.id);
- });
- return ids2.join(",");
- },
- haveID() {
- return this.obj0.creditcode;
- },
- },
- methods: {
- handleImport1() {
- this.excelBox1 = true;
- },
- uploadAfter1(res, done, loading, column) {
- window.console.log(column);
- this.excelBox1 = false;
- // this.refreshChange();
- done();
- },
- handleTemplate1() {
- window.open(`/api/examSubjectChoices/export-template`);
- },
-
- // handleChangeTABS(column) {
- // this.typeTABS = column;
- // // this.$message.success(JSON.stringify(column));
- // if (column.prop == "tab1") {
- // this.loading1 = false;
- // this.loading2 = false;
- // this.onLoad(this.page);
- // } else if (column.prop == "tab2") {
- // this.loading = false;
- // this.loading2 = false;
- // this.onLoad1(this.page1); //第二个表格不会自动执行
- // } else if (column.prop == "tab3") {
- // this.loading1 = false;
- // this.loading = false;
- // this.onLoad2(this.page2); //第二个表格不会自动执行
- // }
- // },
- //保安单位基本信息
- sizeChange(val) {
- this.page1.currentPage = 1;
- this.page1.pageSize = val;
- // this.getData();
- this.onLoad(this.page, this.query);
- // this.$message.success("行数" + val);
- },
- currentChange(val) {
- this.page1.currentPage = val;
- // this.getData();
- this.onLoad(this.page, this.query);
- // this.$message.success("页码" + val);
- },
- rowSave(form, done, loading) {
- // console.log("save1");
- this.forms = 0;
- var that = this;
- //先获取部门接口
- getDeptLazyTree().then((res) => {
- var d = res.data.data;
- that.treeData = d;
- // console.log(d);
- });
- },
- searchChange(params, done) {
- this.query = params;
- this.page.currentPage = 1;
- this.onLoad(this.page, params);
- done();
- },
- searchReset() {
- this.query = {};
- this.onLoad(this.page);
- },
- rowUpdate(row, index, done, loading) {
- delete row.tenantid;
- delete row.regstsat;
- console.log(row, 0);
- update(row).then(
- () => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!",
- });
- done();
+ ids2 () {
+ let ids2 = [];
+ this.selectionList2.forEach((ele) => {
+ ids2.push(ele.id);
+ });
+ return ids2.join(",");
},
- (error) => {
- window.console.log(error);
- loading();
- }
- );
+ haveID () {
+ return this.obj0.creditcode;
+ },
},
- rowDel(row) {
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(() => {
- console.log(row);
- return remove(row.creditcode, row.departmentid);
- })
- .then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!",
- });
+ methods: {
+ handleImport1 () {
+ this.excelBox1 = true;
+ },
+ uploadAfter1 (res, done, loading, column) {
+ window.console.log(column);
+ this.excelBox1 = false;
+ // this.refreshChange();
+ done();
+ },
+ handleTemplate1 () {
+ window.open(`/api/examSubjectChoices/export-template`);
+ },
+
+ // handleChangeTABS(column) {
+ // this.typeTABS = column;
+ // // this.$message.success(JSON.stringify(column));
+ // if (column.prop == "tab1") {
+ // this.loading1 = false;
+ // this.loading2 = false;
+ // this.onLoad(this.page);
+ // } else if (column.prop == "tab2") {
+ // this.loading = false;
+ // this.loading2 = false;
+ // this.onLoad1(this.page1); //第二个表格不会自动执行
+ // } else if (column.prop == "tab3") {
+ // this.loading1 = false;
+ // this.loading = false;
+ // this.onLoad2(this.page2); //第二个表格不会自动执行
+ // }
+ // },
+ //保安单位基本信息
+ sizeChange (val) {
+ this.page1.currentPage = 1;
+ this.page1.pageSize = val;
+ // this.getData();
+ this.onLoad(this.page, this.query);
+ // this.$message.success("行数" + val);
+ },
+ currentChange (val) {
+ this.page1.currentPage = val;
+ // this.getData();
+ this.onLoad(this.page, this.query);
+ // this.$message.success("页码" + val);
+ },
+ rowSave (form, done, loading) {
+ // console.log("save1");
+ this.forms = true;
+ this.activeName = "first";
+ var that = this;
+ //先获取部门接口
+ getDeptLazyTree().then((res) => {
+ var d = res.data.data;
+ that.treeData = d;
+ // console.log(d);
+ });
+ },
+ searchChange (params, done) {
+ this.query = params;
+ this.page.currentPage = 1;
+ this.onLoad(this.page, params);
+ done();
+ },
+ searchReset () {
+ this.query = {};
+ this.onLoad(this.page);
+ },
+ rowUpdate (row, index, done, loading) {
+ delete row.tenantid;
+ delete row.regstsat;
+ console.log(row, 0);
+ update(row).then(
+ () => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ done();
+ },
+ (error) => {
+ window.console.log(error);
+ loading();
+ }
+ );
+ },
+ rowDel (row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ console.log(row);
+ return remove(row.creditcode, row.departmentid);
+ })
+ .then(() => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ });
+ },
+ selectionChange (list) {
+ this.selectionList = list;
+ },
+ handleDelete () {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据");
+ return;
+ }
+ this.$confirm("确定批量将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ console.log(this.ids);
+ // return remove(this.ids);
+ })
+ .then(() => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ this.$refs.crudrec.toggleSelection();
+ });
+ },
+ refreshChange () {
+ this.onLoad(this.page, this.query);
+ },
+ rowClick (row) {
+ // console.log(row);
+ // row.identificationnumber; //统一社会信用代 码
+ window.localStorage.setItem("danweidata", JSON.stringify(row));
+ this.$router.push({
+ path: "/securityUnitChild",
+ // redirect: { name: "foo" },
+ query: { rowsecurity: "fromSecurity" },
+ // params: { row: row.identificationnumber },
+ });
+ },
+ //跳转到附近列表页面
+ handleUploadPage (row) {
+ this.$router.push({
+ path: `/resource/attachCopy`,
+ query: {
+ deptId: row.departmentid,
+ enterprisename: row.enterprisename,
+ },
+ });
+ },
+ onLoad (page, params = {}) {
+ if (this.userInfo.role_id == "1414840172333842433") {
+ console.log("是公安add jurisdiction");
+ params["jurisdiction"] = this.userInfo.jurisdiction;
+ }
+ this.loading = true;
+ getdata(
+ page.currentPage,
+ page.pageSize,
+ Object.assign(params, this.query)
+ ).then((res) => {
+ const data = res.data.data;
+ this.page.total = data.total;
+ this.data = data.records;
+ window.localStorage.setItem("danweidataS", JSON.stringify(this.data));
+ console.log(this.data);
+ this.loading = false;
+ });
+ },
+ // nodeClick(data) {//分局 不在这添加
+ // // this.treeDeptId = data.id;
+ // // this.page.currentPage = 1;
+ // // this.onLoad(this.page);
+ // // this.$message.success(JSON.stringify(data));
+ // this.obj0["departmentid"] = data.title;
+ // this.obj1["departmentid"] = data.title;
+ // this.obj2["departmentid"] = data.title;
+ // this.obj0["useid"] = data.id;
+ // this.obj1["useid"] = data.id;
+ // this.obj2["useid"] = data.id;
+ // this.nobumen = 1;
+ // },
+ submitAdd () {
+ if (this.panduanmeiyouziduan()) {
+ return;
+ }
+
+ var oneObj = {};
+
+ for (var k in this.obj0) {
+ for (var i in column0) {
+ if (k == column0[i].prop && k != "title0") {
+ oneObj[k] = this.obj0[k];
+ }
+
+ if (column0[i].prop == "creditcode") {
+ column1[1].value = column0[i].value;
+ }
+ }
+ }
+
+ for (var key in oneObj) {
+ if (oneObj[key] == "" || oneObj[key] == undefined) {
+ console.log(key);
+ this.$message.warning("请检查表单是否填写完整!1");
+ return;
+ }
+ }
+
+ this.data0 = oneObj;
+
+ var twoObj = {};
+ for (var twok in this.obj1) {
+ for (var twoi in column1) {
+ if (twok == column1[twoi].prop && twok != "title1") {
+ twoObj[twok] = this.obj1[twok];
+ }
+ }
+ }
+
+ twoObj["capital"] = twoObj["capital2"];
+ delete twoObj["capital2"];
+ // console.log(d);
+ for (var twokey in twoObj) {
+ if (twoObj[twokey] == "" || twoObj[twokey] == undefined) {
+ console.log(twokey);
+ this.$message.warning("请检查表单是否填写完整!2");
+ return;
+ }
+ }
+
+ this.data1 = twoObj;
+
+ var threeObj = {};
+ for (var threek in this.obj2) {
+ for (var threei in column2) {
+ if (threek == column2[threei].prop && threek != "title2") {
+ threeObj[threek] = this.obj2[threek];
+ }
+ }
+ }
+
+ threeObj["cardid"] = threeObj["cardid2"];
+ delete threeObj["cardid2"];
+ threeObj["cell"] = threeObj["cell2"];
+ delete threeObj["cell2"];
+ // d["shareholdingratio"] = d["shareholdingratio2"];
+ // delete d["shareholdingratio2"];
+ for (var threekey in threeObj) {
+ if (threeObj[threekey] == "" || threeObj[threekey] == undefined) {
+ console.log(threekey);
+ this.$message.warning("请检查表单是否填写完整!3");
+ return;
+ }
+ }
+ this.data2 = threeObj;
+
+ // this.data0.departmentid = this.data0.useid;
+ // this.data1.departmentid = this.data1.useid;
+ // this.data2.departmentid = this.data2.useid;
+ // delete this.data0.useid;
+ // delete this.data1.useid;
+ // delete this.data2.useid;
+
+ adddata(this.data0).then((res) => {
+ console.log(res, 0);
+ });
+ adddata1(this.data1).then((res) => {
+ console.log(res, 1);
+ });
+ adddata2(this.data2).then((res) => {
+ console.log(res, 2);
+ });
+ var time = setTimeout(() => {
+ this.onLoad(this.page, this.query);
+ console.log(this.data0, this.data1, this.data2, "已刷新");
+ }, 500);
+ this.tipover();
+ },
+
+ tipover () {
+ this.forms = false;
+ this.obj0 = {
+ creditcode: "",
+ jurisdiction: "",
+ stats: "",
+ enterprisename: "",
+ representative: "",
+ establishtime: "",
+ registeredcapital: "",
+ capital: "",
+ organizationcode: "",
+ registrationnumber: "",
+ identificationnumber: "",
+ enterprises: "",
+ address: "",
+ business: "",
+ region: "",
+ registration: "",
+ industry: "",
+ };
+
+ this.obj1 = {
+ creditcode: "",
+ shareholder: "",
+ shareholdingratio: "",
+ capital2: "",
+ capitaltime: "",
+ cardid: "",
+ cell: "",
+ };
+ this.obj2 = {
+ creditcode: "",
+ name: "",
+ post: "",
+ cardid2: "",
+ cell2: "",
+ };
+ this.data0 = {};
+ this.data1 = {};
+ this.data2 = {};
+ this.noshehuibianma = 0;
+ this.nobumen = 0;
+ },
+ panduanmeiyouziduan () {
+ if (this.noshehuibianma == 0) {
+ this.$message.warning("请输入统一社会信用代码");
+ return true;
+ }
+ if (this.nobumen == 0) {
+ return false;
+ this.$message.warning("请选则部门");
+ }
+ return false;
+ },
+ },
+ watch: {
+ haveID () {
+ // console.log(this.haveID);
+ if (this.haveID != undefined) {
+ if (this.haveID.length > 5) {
+ //统一社会信用代码判断
+ this.noshehuibianma = 1;
+ } else {
+ this.noshehuibianma = 0;
+ }
+ }
+ },
+ havedata () {
+ console.log(this.havedata, "qqqqq");
+ },
+ },
+ mounted () {
+ var that = this;
+
+ this.option0.column.forEach((item) => {
+ if (item.prop == "creditcode") {
+ item.change = function (e) {
+ that.obj1.creditcode = e.value;
+ that.obj2.creditcode = e.value;
+ };
+ }
});
},
- selectionChange(list) {
- this.selectionList = list;
- },
- handleDelete() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据");
- return;
- }
- this.$confirm("确定批量将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(() => {
- console.log(this.ids);
- // return remove(this.ids);
- })
- .then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!",
- });
- this.$refs.crudrec.toggleSelection();
- });
- },
- refreshChange() {
- this.onLoad(this.page, this.query);
- },
- rowClick(row) {
- // console.log(row);
- // row.identificationnumber; //统一社会信用代 码
- window.localStorage.setItem("danweidata", JSON.stringify(row));
- this.$router.push({
- path: "/securityUnitChild",
- // redirect: { name: "foo" },
- query: { rowsecurity: "fromSecurity" },
- // params: { row: row.identificationnumber },
- });
- },
- //跳转到附近列表页面
- handleUploadPage(row) {
- this.$router.push({
- path: `/resource/attachCopy`,
- query: {
- deptId: row.departmentid,
- enterprisename: row.enterprisename,
- },
- });
- },
- onLoad(page, params = {}) {
- if (this.userInfo.role_id == "1414840172333842433") {
- console.log("是公安add jurisdiction");
- params["jurisdiction"] = this.userInfo.jurisdiction;
- }
- this.loading = true;
- getdata(
- page.currentPage,
- page.pageSize,
- Object.assign(params, this.query)
- ).then((res) => {
- const data = res.data.data;
- this.page.total = data.total;
- this.data = data.records;
- window.localStorage.setItem("danweidataS", JSON.stringify(this.data));
- console.log(this.data);
- this.loading = false;
- });
- },
- // nodeClick(data) {//分局 不在这添加
- // // this.treeDeptId = data.id;
- // // this.page.currentPage = 1;
- // // this.onLoad(this.page);
- // // this.$message.success(JSON.stringify(data));
- // this.obj0["departmentid"] = data.title;
- // this.obj1["departmentid"] = data.title;
- // this.obj2["departmentid"] = data.title;
- // this.obj0["useid"] = data.id;
- // this.obj1["useid"] = data.id;
- // this.obj2["useid"] = data.id;
- // this.nobumen = 1;
- // },
- tip0() {
- if (this.panduanmeiyouziduan()) {
- return;
- }
- var d = {};
- for (var k in this.obj0) {
- for (var i in column0) {
- if (k == column0[i].prop && k != "title0") {
- d[k] = this.obj0[k];
- }
- }
- }
- console.log(d);
- for (var k in d) {
- if (d[k] == "" || d[k] == undefined) {
- console.log(k);
- this.$message.warning("请检查表单是否填写完整!");
- return;
- }
- }
- console.log(d, 0);
- this.data0 = d;
- this.forms = 1;
- },
- tip1() {
- if (this.panduanmeiyouziduan()) {
- return;
- }
- var d = {};
- for (var k in this.obj1) {
- for (var i in column1) {
- if (k == column1[i].prop && k != "title1") {
- d[k] = this.obj1[k];
- }
- }
- }
- d["capital"] = d["capital2"];
- delete d["capital2"];
- // console.log(d);
- for (var k in d) {
- if (d[k] == "" || d[k] == undefined) {
- console.log(k);
- this.$message.warning("请检查表单是否填写完整!");
- return;
- }
- }
- console.log(d, 1);
- this.data1 = d;
- this.forms = 2;
- },
- tip2() {
- if (this.panduanmeiyouziduan()) {
- return;
- }
- var d = {};
- for (var k in this.obj2) {
- for (var i in column2) {
- if (k == column2[i].prop && k != "title2") {
- d[k] = this.obj2[k];
- }
- }
- }
- console.log(d);
- d["cardid"] = d["cardid2"];
- delete d["cardid2"];
- d["cell"] = d["cell2"];
- delete d["cell2"];
- // d["shareholdingratio"] = d["shareholdingratio2"];
- // delete d["shareholdingratio2"];
- for (var k in d) {
- if (d[k] == "" || d[k] == undefined) {
- console.log(k);
- this.$message.warning("请检查表单是否填写完整!");
- return;
- }
- }
- console.log(d, 2);
- this.data2 = d;
-
- // this.data0.departmentid = this.data0.useid;
- // this.data1.departmentid = this.data1.useid;
- // this.data2.departmentid = this.data2.useid;
- // delete this.data0.useid;
- // delete this.data1.useid;
- // delete this.data2.useid;
-
- adddata(this.data0).then((res) => {
- console.log(res, 0);
- });
- adddata1(this.data1).then((res) => {
- console.log(res, 1);
- });
- adddata2(this.data2).then((res) => {
- console.log(res, 2);
- });
- var time = setTimeout(() => {
- this.onLoad(this.page, this.query);
- console.log(this.data0, this.data1, this.data2, "已刷新");
- }, 500);
- this.tipover();
- },
- tip1up1() {
- this.forms = 0;
- },
- tip2up2() {
- this.forms = 1;
- },
- tipover() {
- this.forms = -1;
- this.obj0 = {
- title0: "保安单位基本信息",
- };
- this.obj1 = {
- title1: "保安单位出资人员",
- };
- this.obj2 = {
- title2: "主要管理人员信息",
- };
- this.data0 = {};
- this.data1 = {};
- this.data2 = {};
- this.noshehuibianma = 0;
- this.nobumen = 0;
- },
- panduanmeiyouziduan() {
- if (this.noshehuibianma == 0) {
- this.$message.warning("请输入统一社会信用代码");
- return true;
- }
- if (this.nobumen == 0) {
- return false;
- this.$message.warning("请选则部门");
- }
- return false;
- },
- },
- watch: {
- haveID() {
- // console.log(this.haveID);
- if (this.haveID != undefined) {
- if (this.haveID.length > 5) {
- //统一社会信用代码判断
- this.noshehuibianma = 1;
- } else {
- this.noshehuibianma = 0;
- }
- }
- },
- havedata() {
- console.log(this.havedata, "qqqqq");
- },
- },
- mounted() {},
};
</script>
<style lang="scss">
.securityUnit {
- width: 100%;
- height: 100%;
- // border: 1px solid #000;
- box-sizing: border-box;
+ width: 100%;
+ height: 100%;
+ // border: 1px solid #000;
+ box-sizing: border-box;
}
// .el-card__body {
// padding-bottom: 5px !important;
@@ -674,39 +724,23 @@
// padding: 0 !important;
// }
-.lod {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- background-color: rgba($color: #000000, $alpha: 0.5);
- padding: 100px 0 0 0;
- z-index: 500 !important;
- display: flex;
- // align-items: center;
- justify-content: center;
- .trees {
- z-index: 501 !important;
- position: absolute;
- width: 15%;
- top: 100px;
- left: 0;
- // display: none;
- }
- .lod-in {
- width: 70%;
- height: auto;
- background-color: transparent;
-
- // padding: 10px 0 0 0;
- }
-
- .el-collapse-item {
- padding-top: 15px !important;
- }
-}
.el-collapse {
- border-top: 1px solid transparent !important;
+ border-top: 1px solid transparent !important;
+}
+
+.information-box {
+ .el-dialog {
+ position: fixed !important;
+ top: 0 !important;
+ left: 0 !important;
+ right: 0 !important;
+ bottom: 0 !important;
+ margin: auto !important;
+ height: 86% !important;
+
+ .el-dialog__body {
+ padding: 10px 20px !important;
+ }
+ }
}
</style>
diff --git a/src/views/securityUnit/securityTraining.vue b/src/views/securityUnit/securityTraining.vue
index b5b4df6..d1981aa 100644
--- a/src/views/securityUnit/securityTraining.vue
+++ b/src/views/securityUnit/securityTraining.vue
@@ -765,4 +765,20 @@
.el-collapse {
border-top: 1px solid transparent !important;
}
+
+.information-box {
+ .el-dialog {
+ position: fixed !important;
+ top: 0 !important;
+ left: 0 !important;
+ right: 0 !important;
+ bottom: 0 !important;
+ margin: auto !important;
+ height: 86% !important;
+
+ .el-dialog__body {
+ padding: 10px 20px !important;
+ }
+ }
+}
</style>
diff --git a/src/views/securityUnit/selfRecruitedSecurityGuard.vue b/src/views/securityUnit/selfRecruitedSecurityGuard.vue
index 6f753d1..4020624 100644
--- a/src/views/securityUnit/selfRecruitedSecurityGuard.vue
+++ b/src/views/securityUnit/selfRecruitedSecurityGuard.vue
@@ -782,4 +782,20 @@
.el-collapse {
border-top: 1px solid transparent !important;
}
+
+.information-box {
+ .el-dialog {
+ position: fixed !important;
+ top: 0 !important;
+ left: 0 !important;
+ right: 0 !important;
+ bottom: 0 !important;
+ margin: auto !important;
+ height: 86% !important;
+
+ .el-dialog__body {
+ padding: 10px 20px !important;
+ }
+ }
+}
</style>
diff --git a/src/views/securityUnit/transRegionalcompany.vue b/src/views/securityUnit/transRegionalcompany.vue
index 26d868e..0829f2f 100644
--- a/src/views/securityUnit/transRegionalcompany.vue
+++ b/src/views/securityUnit/transRegionalcompany.vue
@@ -764,4 +764,20 @@
.el-collapse {
border-top: 1px solid transparent !important;
}
+
+.information-box {
+ .el-dialog {
+ position: fixed !important;
+ top: 0 !important;
+ left: 0 !important;
+ right: 0 !important;
+ bottom: 0 !important;
+ margin: auto !important;
+ height: 86% !important;
+
+ .el-dialog__body {
+ padding: 10px 20px !important;
+ }
+ }
+}
</style>
diff --git a/src/views/trainingRegistration/data.js b/src/views/trainingRegistration/data.js
index c05d907..40fa65e 100644
--- a/src/views/trainingRegistration/data.js
+++ b/src/views/trainingRegistration/data.js
@@ -18,7 +18,7 @@
var w = 160,
s = 12;
-export var column = [{
+export var column1 = [{
label: "培训公司名称",
prop: "trainingUnitId",
dicUrl: "/api/blade-system/dept/lazy-tree-type?parentId=1418458374477549569",
@@ -211,4 +211,333 @@
// width: 160
// }
+]
+
+
+export var column = [{
+ label: "报名时间",
+ prop: "releaseTimeRange",
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ searchRange: true,
+ searchSpan: 5,
+ hide: true,
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ search: true,
+ rules: [{
+ required: true,
+ message: "请输入时间",
+ trigger: "blur",
+ }, ],
+ },
+ {
+ label: "保安公司名称",
+ searchLabelWidth: "110",
+ labelWidth: 110,
+ cascaderItem: ["userId"],
+ prop: "deptId",
+ type: "tree",
+ hide: true,
+ viewDisabled: false,
+ viewDisplay: false,
+ dicUrl: "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697",
+ props: {
+ label: "title",
+ value: "id",
+ },
+ slot: true,
+ searchSpan: 4,
+ search: false,
+ width: 260,
+ },
+ {
+ label: "保安姓名",
+ prop: "userId",
+ type: "tree",
+ dicUrl: "/api/blade-user/security-apply-tree?examType=1&deptId={{key}}",
+ hide: true,
+ slot: true,
+ searchSpan: 4,
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: true,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: true,
+ viewDisabled: false,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ viewDisplay: false,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ props: {
+ label: "name",
+ value: "id",
+ },
+ rules: [{
+ required: true,
+ message: "请选择保安姓名",
+ trigger: "blur",
+ }, ],
+ 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",
+ },
+ rules: [{
+ required: true,
+ message: "请选择保安姓名",
+ trigger: "blur",
+ }, ],
+ },
+ {
+ label: "年龄",
+ prop: "age",
+ slot: true,
+ // 表单新增时是否禁止
+ addDisabled: true,
+ // 表单新增时是否可见
+ addDisplay: true,
+ viewDisplay: true,
+ },
+ {
+ label: "身份证号",
+ prop: "idCardNo",
+ slot: true,
+ search: true,
+ searchSpan: 5,
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: false,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: false,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ rules: [{
+ required: true,
+ message: "请选择准考证号",
+ trigger: "blur",
+ }, ],
+ width: 150,
+ },
+ {
+ label: "身份证号",
+ prop: "cardid",
+ searchSpan: 5,
+ // 表单新增时是否禁止
+ addDisabled: true,
+ // 表单新增时是否可见
+ addDisplay: true,
+ hide: true,
+ rules: [{
+ required: true,
+ message: "请选择准考证号",
+ trigger: "blur",
+ }, ],
+ width: 150,
+ },
+ {
+ label: "性别",
+ prop: "sex",
+ type: "select",
+ // 表单新增时是否禁止
+ addDisabled: true,
+ // 表单新增时是否可见
+ addDisplay: true,
+ dicData: [{
+ label: "男",
+ value: 1,
+ },
+ {
+ label: "女",
+ value: 2,
+ },
+ {
+ label: "未知",
+ value: 3,
+ },
+ {
+ label: " ",
+ value: -1,
+ },
+ ],
+ display: false,
+ },
+
+ {
+ label: "籍贯",
+ prop: "nativePlace",
+ // 表单新增时是否禁止
+ addDisabled: true,
+ // 表单新增时是否可见
+ addDisplay: true,
+ },
+ {
+ label: "联系电话",
+ prop: "phone",
+ // 表单新增时是否禁止
+ addDisabled: true,
+ // 表单新增时是否可见
+ addDisplay: true,
+ },
+ {
+ label: "保安公司名称",
+ labelWidth: "110",
+ addDisplay: false,
+ prop: "deptName",
+ width: 260,
+ },
+ // {
+ // 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: "applyCard",
+ // slot: true,
+ // // 表单新增时是否禁止
+ // addDisabled: false,
+ // // 表单新增时是否可见
+ // addDisplay: false,
+ // // 表单新增时是否为查看模式
+ // addDetail: false,
+ // // 表单编辑时是否禁止
+ // editDisabled: false,
+ // // 表单编辑时是否可见
+ // editDisplay: true,
+ // // 表单编辑时是否为查看模式
+ // editDetail: false,
+ // rules: [
+ // {
+ // required: true,
+ // message: "请选择准考证号",
+ // trigger: "blur",
+ // },
+ // ],
+ // },
+ {
+ label: "报名时间",
+ prop: "applyTime",
+ type: "datetime",
+ // span: 24,
+ format: "yyyy-MM-dd HH:mm:ss",
+ valueFormat: "yyyy-MM-dd HH:mm:ss",
+ // 表单新增时是否禁止
+ addDisabled: true,
+ // 表单新增时是否可见
+ addDisplay: false,
+ // 表单新增时是否为查看模式
+ 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: 150,
+ },
+ {
+ label: "报名状态",
+ prop: "applyStatus",
+ search: true,
+ searchSpan: 4,
+ type: "select",
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: false,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: true,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ dicData: [{
+ label: "全部",
+ value: 1,
+ },
+ {
+ label: "已报名",
+ value: 2,
+ },
+ {
+ label: "已取消",
+ value: 4,
+ },
+ ],
+ },
]
\ No newline at end of file
diff --git a/src/views/trainingRegistration/index.vue b/src/views/trainingRegistration/index.vue
index 372c962..ddebd9c 100644
--- a/src/views/trainingRegistration/index.vue
+++ b/src/views/trainingRegistration/index.vue
@@ -1,125 +1,178 @@
+/*
+ * @Author: Morpheus
+ * @Date: 2021-07-05 16:31:54
+ * @Last Modified by: Morpheus
+ * @Last Modified time: 2021-07-19 19:39:45
+ * menu-name 报名考试
+ */
<template>
- <basic-container>
- <avue-crud
- :option="option"
- :table-loading="loading"
- :data="data"
- :page.sync="page"
- :search.sync="search"
- ref="crud"
- @row-del="rowDel"
- v-model="form"
- :permission="permissionList"
- @row-update="rowUpdate"
- @row-save="rowSave"
- :before-open="beforeOpen"
- @filter="filterChange"
- @search-change="searchChange"
- @search-reset="searchReset"
- @selection-change="selectionChange"
- @current-change="currentChange"
- @size-change="sizeChange"
- @refresh-change="refreshChange"
- @on-load="onLoad"
- >
- <template slot="menuLeft">
- <el-button
- style="display: none"
- type="danger"
- size="small"
- plain
- icon="el-icon-delete"
- @click="handleDelete"
- >删 除
- </el-button>
- <el-button
- type="primary"
- size="small"
- plain
- icon="el-icon-folder-checked"
- @click="handleBatchExam"
- v-if="permission.trainingRegistration_exam"
- >考试申请
- </el-button>
- <el-button
- type="primary"
- size="small"
- plain
- icon="el-icon-folder-checked"
- v-if="permission.trainingRegistration_import"
- @click="handleImport"
- >批量导入
- </el-button>
- </template>
- <template slot-scope="{ type, size, row }" slot="menu">
- <el-button
- icon="el-icon-refresh-right"
- @click="revoke(row)"
- :size="size"
- :type="type"
- v-if="permission.trainingRegistration_cancel"
- :disabled="row.cancel==2"
- >取消报名</el-button
- >
- <el-button
- :type="type"
- size="small"
- icon="el-icon-receiving"
- v-if="permission.trainingRegistration_print"
- :disabled="row.candidateNo == '' || row.cancel==2"
- @click="handlePrint(row)"
- >准考证打印
- </el-button>
- <el-button
- icon="el-icon-folder-checked"
- style="display: none"
- @click="affirmApply(row)"
- :size="size"
- :type="type"
- >确认报名</el-button
- >
- </template>
- </avue-crud>
+ <el-row class="morpheus-box-apply-exam">
+ <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="danger"
+ size="mini"
+ icon="el-icon-delete"
+ plain
+ @click="handleDelete">新增
+ </el-button>
+ <el-button type="danger"
+ size="mini"
+ icon="el-icon-delete"
+ plain
+ @click="handleDelete">删除
+ </el-button>
+ <el-button type="danger"
+ size="mini"
+ icon="el-icon-delete"
+ plain
+ @click="handleDelete">导出
+ </el-button>
+ </template> -->
- <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>
+ <!-- <template slot="menuLeft">
+ <el-button type="danger"
+ size="small"
+ icon="el-icon-delete"
+ @click="questionBankHandleDelete">删 除
+ </el-button>
+ </template> -->
+ <!-- 自定义按钮 -->
+ <template slot="menuLeft">
+ <el-button
+ type="primary"
+ style="display:none"
+ size="small"
+ plain
+ icon="el-icon-folder-checked"
+ @click="handleBatchExam"
+ v-if="permission.applyexam_exam"
+ >生成考试
+ </el-button>
+ <!-- v-if="examPersission" -->
+ <el-button
+ style="display:none"
+ type="primary"
+ size="small"
+ plain
+ icon="el-icon-folder-checked"
+ v-if="permission.applyexam_import"
+ @click="handleImport"
+ >批量报名
+ </el-button>
+ </template>
- <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>
- </basic-container>
+ <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.cancel == 2"
+ @click="handleCancel(row)"
+ >取消报名
+ </el-button>
+ <el-button
+ style="display: none"
+ :type="type"
+ size="small"
+ icon="el-icon-folder-checked"
+ :disabled="row.cancel == 2"
+ @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>
+
+ <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 { column } from "./data";
import {
getdata,
adddata,
@@ -128,15 +181,102 @@
cancelTrain,
addExam,
} from "@/api/trainingRegistration/trainingRegistration";
+import { mapState } from "vuex";
import { mapGetters } from "vuex";
import { getRoleDetail } from "@/api/system/role";
+import { getUserDetails } from "@/api/experience/experience"
+
export default {
data() {
return {
- loading: true,
- excelBox: false,
+ obj:{
+ userId:''
+ },
+ dialogFormVisible: false,
dialogExamFormVisible: false,
- search:{},
+ 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: true, //liu
+ index: true,
+ stripe: true,
+ viewBtn: true,
+ addBtn: true,
+ selection: true,
+ excelBtn: false,
+ menuWidth: 230,
+ dialogClickModal: false,
+ column: [
+ {
+ label: "审核状态",
+ search: true,
+ searchSpan: 5,
+ span: 24,
+ prop: "auditStatus",
+ slot: true,
+ editDisplay: false,
+ addDisplay: false,
+ type: "select",
+ rules: [
+ {
+ required: true,
+ message: "请选择审核类型",
+ trigger: "blur",
+ },
+ ],
+ dicData: [
+ {
+ label: "审核通过",
+ value: 2,
+ },
+ {
+ label: "不通过",
+ value: 3,
+ },
+ ],
+ },
+ {
+ label: "审核明细",
+ span: 24,
+ type: "textarea",
+ prop: "auditDetail",
+ },
+ ],
+ },
optionExamApply: {
height: "auto",
filterBtn: true,
@@ -149,7 +289,7 @@
index: true,
stripe: true,
viewBtn: true,
- selection: false,
+ selection: true,
excelBtn: false,
menuWidth: 380,
dialogClickModal: false,
@@ -157,15 +297,15 @@
{
label: "考试人数",
prop: "number",
- type: 'number',
+ type: "number",
span: 12,
- precision:0,
- step:50,
- mock:{
- type:'number',
- max:1000,
- min:0,
- precision:0
+ precision: 0,
+ step: 50,
+ mock: {
+ type: "number",
+ max: 1000,
+ min: 0,
+ precision: 0,
},
rules: [
{
@@ -176,22 +316,22 @@
],
minRows: 0,
maxRows: 1000,
- value:50,
+ value: 50,
},
{
label: "序号开始",
prop: "serialStart",
span: 6,
- value:1,
- mock:{
- type:'number',
- max:1000,
- min:1,
- precision:0
+ value: 1,
+ mock: {
+ type: "number",
+ max: 1000,
+ min: 1,
+ precision: 0,
},
minRows: 1,
maxRows: 1000,
- type:"number",
+ type: "number",
rules: [
{
required: true,
@@ -204,16 +344,16 @@
label: "序号结束",
prop: "serialEnd",
span: 6,
- value:50,
- mock:{
- type:'number',
- max:1000,
- min:1,
- precision:0
+ value: 50,
+ mock: {
+ type: "number",
+ max: 1000,
+ min: 1,
+ precision: 0,
},
minRows: 1,
maxRows: 1000,
- type:"number",
+ type: "number",
rules: [
{
required: true,
@@ -278,80 +418,489 @@
},
],
},
- excelForm: {},
- excelOption: {
- submitBtn: false,
- emptyBtn: false,
+ questionBankOption: {
+ // 操作栏多余按钮去除
+ delBtn: false,
+ editBtn: false,
+ addBtn: true,
+ addBtnText: "报名新增",
+ selection: false,
+ menu: true,
+ // 导出按钮
+ // excelBtn: true,
+ viewBtn: true,
+
+ // title: '题库',
+
+ align: "center",
+ height: "auto",
+ calcHeight: 80,
+ tip: false,
+ searchShow: true,
+ searchMenuSpan: 4,
+ index: true,
+ indexLabel: "#",
+ //dialogType: 'drawer',
+ dialogClickModal: false,
+ //tree 默认展开
+ defaultExpandAll: true,
+ // 操作栏宽度
+ menuWidth: 250,
column: [
{
- label: "模板上传",
- prop: "excelFile",
- type: "upload",
- drag: true,
- loadText: "模板上传中,请稍等",
- span: 24,
- propsHttp: {
- res: "data",
- },
- tip: "请上传 .xls,.xlsx 标准格式文件",
- action: "/api/trainingRegistration/import-trainingRegistration",
+ label: "报名时间",
+ prop: "releaseTimeRange",
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ searchRange: true,
+ searchSpan: 5,
+ hide: true,
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ search: true,
+ rules: [
+ {
+ required: true,
+ message: "请输入时间",
+ trigger: "blur",
+ },
+ ],
},
{
- label: "模板下载",
- prop: "excelTemplate",
- formslot: true,
- span: 24,
+ label: "保安单位名称",
+ searchLabelWidth: "110",
+ labelWidth: 110,
+ cascaderItem: ["userId"],
+ prop: "deptId",
+ type: "tree",
+ hide: true,
+ viewDisabled:false,
+ viewDisplay:false,
+ dicUrl:
+ "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697",
+ props: {
+ label: "title",
+ value: "id",
+ },
+ slot: true,
+ searchSpan: 4,
+ search: false,
+ width: 260,
+ rules: [
+ {
+ required: true,
+ message: "保安单位",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: "保安姓名",
+ prop: "userId",
+ type: "tree",
+ dicUrl:
+ "/api/blade-user/security-apply-tree?examType=2&deptId={{key}}",
+ hide: true,
+ slot: true,
+ searchSpan: 4,
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: true,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: true,
+ viewDisabled: false,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ viewDisplay: false,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ props: {
+ label: "name",
+ value: "id",
+ },
+ rules: [
+ {
+ required: true,
+ message: "请选择保安姓名",
+ trigger: "blur",
+ },
+ ],
+ width: 80,
+ },
+ {
+ label: "培训机构名称",
+ prop: "trainingUnitId",
+ type: "select",
+ labelWidth:110,
+ dicUrl:
+ "/api/information/train-unit-tree",
+ hide: true,
+ slot: true,
+ searchSpan: 4,
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: true,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: true,
+ viewDisabled: false,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ viewDisplay: false,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ props: {
+ label: "deptName",
+ value: "departmentid",
+ },
+ rules: [
+ {
+ required: true,
+ message: "请选择保安姓名",
+ trigger: "blur",
+ },
+ ],
+ 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",
+ },
+ rules: [
+ {
+ required: true,
+ message: "请选择保安姓名",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: "年龄",
+ prop: "age",
+ slot: true,
+ // 表单新增时是否禁止
+ addDisabled: true,
+ // 表单新增时是否可见
+ addDisplay: true,
+ viewDisplay: true,
+ },
+ {
+ label: "身份证号",
+ prop: "idCardNo",
+ slot: true,
+ search: true,
+ searchSpan: 5,
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: false,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: false,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ rules: [
+ {
+ required: true,
+ message: "请选择准考证号",
+ trigger: "blur",
+ },
+ ],
+ width: 150,
+ },
+ {
+ label: "身份证号",
+ prop: "cardid",
+ searchSpan: 5,
+ // 表单新增时是否禁止
+ addDisabled: true,
+ // 表单新增时是否可见
+ addDisplay: true,
+ hide:true,
+ rules: [
+ {
+ required: true,
+ message: "请选择准考证号",
+ trigger: "blur",
+ },
+ ],
+ width: 150,
+ },
+ {
+ label: "性别",
+ prop: "sex",
+ type: "select",
+ // 表单新增时是否禁止
+ addDisabled: true,
+ // 表单新增时是否可见
+ addDisplay: true,
+ dicData: [
+ {
+ label: "男",
+ value: 1,
+ },
+ {
+ label: "女",
+ value: 2,
+ },
+ {
+ label: "未知",
+ value: 3,
+ },
+ {
+ label: " ",
+ value: -1,
+ },
+ ],
+ display: false,
+ },
+
+ {
+ label: "籍贯",
+ prop: "nativePlace",
+ // 表单新增时是否禁止
+ addDisabled: true,
+ // 表单新增时是否可见
+ addDisplay: true,
+ },
+ {
+ label: "联系电话",
+ prop: "phone",
+ // 表单新增时是否禁止
+ addDisabled: true,
+ // 表单新增时是否可见
+ addDisplay: true,
+ },
+ {
+ label: "所属保安单位",
+ labelWidth: "110",
+ addDisplay: false,
+ prop: "deptName",
+ width: 260,
+ },
+ // {
+ // 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: "applyCard",
+ // slot: true,
+ // // 表单新增时是否禁止
+ // addDisabled: false,
+ // // 表单新增时是否可见
+ // addDisplay: false,
+ // // 表单新增时是否为查看模式
+ // addDetail: false,
+ // // 表单编辑时是否禁止
+ // editDisabled: false,
+ // // 表单编辑时是否可见
+ // editDisplay: true,
+ // // 表单编辑时是否为查看模式
+ // editDetail: false,
+ // rules: [
+ // {
+ // required: true,
+ // message: "请选择准考证号",
+ // trigger: "blur",
+ // },
+ // ],
+ // },
+ {
+ label: "报名时间",
+ prop: "trainingTime",
+ type: "datetime",
+ // span: 24,
+ format: "yyyy-MM-dd HH:mm:ss",
+ valueFormat: "yyyy-MM-dd HH:mm:ss",
+ // 表单新增时是否禁止
+ addDisabled: true,
+ // 表单新增时是否可见
+ addDisplay: false,
+ // 表单新增时是否为查看模式
+ 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: 150,
+ },
+ {
+ label: "报名状态",
+ prop: "cancel",
+ search: true,
+ searchSpan: 4,
+ type: "select",
+ // 表单新增时是否禁止
+ addDisabled: false,
+ // 表单新增时是否可见
+ addDisplay: false,
+ // 表单新增时是否为查看模式
+ addDetail: false,
+ // 表单编辑时是否禁止
+ editDisabled: true,
+ // 表单编辑时是否可见
+ editDisplay: true,
+ // 表单编辑时是否为查看模式
+ editDetail: false,
+ dicData: [
+ {
+ label: "全部",
+ value: 11,
+ },
+ {
+ label: "已报名",
+ value: 1,
+ },
+ {
+ label: "已取消",
+ value: 2,
+ },
+ ],
},
],
},
- selectionList: [],
- page: {
+ questionBankSearch: {},
+ questionBankLoading: true,
+ questionBankData: [],
+ questionBankPage: {
pageSize: 10,
currentPage: 1,
- total: 0,
+ total: 16,
},
- query: {},
- data: [],
- option: {
- // card: true,
- tip: false,
- // searchSize: "mini",
- searchMenuSpan: 6,
- height: 583,
- index: true,
- labelWidth: "120",
- menuWidth: 200,
- align: "center",
- selection: false,
- column: column,
- delBtn: false,
- editBtn: false,
- addBtn: false,
- },
+ questionBankQuery: {},
+ questionBankSelectionList: [],
};
},
+
+ watch: {
+ "obj.userId": {
+ // form是表单或者表格绑定的数据集,v-model='form'
+ handler(val) {
+ if(val){
+ //查询用户信息
+ getUserDetails(this.userId).then((res)=>{
+ var data = res.data.data;
+ this.obj.cardid = data.cardid;
+ this.obj.age = data.age;
+ this.obj.nativeplace = data.nativeplace;
+ this.obj.phone = data.phone;
+ })
+ }
+ },
+ immediate: true,
+ },
+ },
+ created() {
+ console.log(this.userInfo);
+
+ if (this.userInfo.role_name.indexOf("ksxtadmin") != -1) {
+ this.examPersission = true;
+ }
+
+ this.questionBankSearch["cancel"] = 1;
+ },
+ mounted() {},
computed: {
+ ...mapState({
+ userInfo: (state) => state.user.userInfo,
+ }),
+
+ ...mapGetters(["userInfo", "permission"]),
+
+ permissionList() {
+ return {
+ addBtn: this.vaildData(this.permission.applyexam_add, false),
+ viewBtn: this.vaildData(this.permission.applyexam_view, false),
+ delBtn: this.vaildData(null, false),
+ editBtn: this.vaildData(null, false),
+ };
+ },
ids() {
let ids = [];
- this.selectionList.forEach((ele) => {
+ this.questionBankSelectionList.forEach((ele) => {
ids.push(ele.id);
});
return ids.join(",");
},
- ...mapGetters(["userInfo", "permission"]),
- permissionList() {
- return {
- addBtn: this.vaildData(this.permission.notice_add, false),
- viewBtn: this.vaildData(this.permission.notice_view, false),
- delBtn: this.vaildData(this.permission.notice_delete, false),
- editBtn: this.vaildData(this.permission.notice_edit, false),
- };
+ userId() {
+ var d = this.obj.userId + "";
+ return d;
},
-
- },
- created(){
- this.search['cancel'] = 1;
- this.search['auditStatus'] = 4;
},
methods: {
//准考证查看
@@ -363,19 +912,90 @@
query: obj,
});
},
- sizeChange(val) {
- this.page.pageSize = val;
- this.getData();
- },
- currentChange(val) {
- this.page.currentPage = val;
- this.getData();
- },
- rowSave(form, done, loading) {
+ questionBankOnLoad(page, params = {}) {
+ params = this.questionBankSearch;
+ this.questionBankLoading = false;
+ this.loading = true;
+ //判断角色,如果是保安公司管理员或保安,只能查看当前公司的报名信息
var that = this;
- adddata(form).then(
+ //获取当前登录人员的角色信息
+ 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;
+ }
+
+ // const { releaseTimeRange } = this.questionBankSearch;
+ const { releaseTimeRange } = this.questionBankQuery;
+
+ var values;
+
+ // console.log(releaseTimeRange, 123);
+ if (releaseTimeRange) {
+ values = {
+ ...params,
+ beginTime: releaseTimeRange[0],
+ overTime: releaseTimeRange[1],
+ ...this.questionBankQuery,
+ };
+ values.releaseTimeRange = null;
+ } else {
+ values = {
+ ...params,
+ ...this.questionBankQuery,
+ };
+ }
+ getdata(
+ page.currentPage,
+ page.pageSize,
+ // Object.assign(values, this.questionBankQuery)
+ values
+ ).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 = {
+ cancel:11,
+ };
+ this.questionBankOnLoad(this.questionBankPage);
+ },
+ questionBankCurrentChange(currentPage) {
+ this.questionBankPage.currentPage = currentPage;
+ },
+ questionBankSizeChange(pageSize) {
+ this.questionBankPage.pageSize = pageSize;
+ },
+
+ // 新增
+ questionBankRowSave(row, done, loading) {
+ // debugger;
+ console.log(row,11111);
+ adddata(row).then(
(res) => {
- this.onLoad(this.page);
+ this.questionBankOnLoad(this.questionBankPage);
if (res.data.data == 201) {
this.$message({
type: "warning",
@@ -400,180 +1020,11 @@
}
);
},
- searchChange(params, done) {
- this.query = params;
- this.page.currentPage = 1;
- this.onLoad(this.page, params);
- done();
- },
- searchReset() {
- this.query = {};
- this.onLoad(this.page);
- },
- rowUpdate(row, index, done, loading) {
- update(row).then(
- () => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!",
- });
- done();
- },
- (error) => {
- window.console.log(error);
- loading();
- }
- );
- },
- //确认报名
- affirmApply(row, done, loading) {
- this.$confirm("确认报名?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- }).then(() => {
- row.cancel = 3;
- update(row).then(
- () => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "确认报名成功!",
- });
- done();
- },
- (error) => {
- window.console.log(error);
- loading();
- }
- );
- });
- },
- revoke(row, done, loading) {
- this.$confirm("确定取消报名?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- }).then(() => {
- row.cancel = 2;
- cancelTrain(row).then(
- () => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "取消报名成功!",
- });
- done();
- },
- (error) => {
- window.console.log(error);
- loading();
- }
- );
- });
- },
- rowDel(row) {
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(() => {
- return remove(row.id);
- })
- .then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!",
- });
- });
- },
- selectionChange(list) {
- this.selectionList = list;
- },
- handleDelete() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据");
- return;
- }
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(() => {
- return remove(this.ids);
- })
- .then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!",
- });
- this.$refs.crudrec.toggleSelection();
- });
- },
- refreshChange() {
- this.onLoad(this.page, this.query);
- },
- onLoad(page, params = {}) {
- this.loading = true;
- //判断角色,如果是保安公司管理员或保安,只能查看当前公司的考试成绩
- var that = this;
- //获取当前登录人员的角色信息
- var roleIds = this.userInfo.role_id.split(",");
- params = this.search;
- roleIds.forEach((roleId) => {
- getRoleDetail(roleId).then((res) => {
- var roleAlias = res.data.data.roleAlias;
- if (
- roleAlias == "保安公司管理员" ||
- roleAlias == "保安"
- ) {
- //如果是保安公司管理员
- params["deptId"] = that.userInfo.dept_id;
- }
- if (
- roleAlias == "培训公司管理员"
- ) {
- //如果是培训公司管理员
- params["trainingUnitId"] = that.userInfo.dept_id;
- }
- getdata(
- page.currentPage,
- page.pageSize,
- Object.assign(params, this.query)
- ).then((res) => {
- // console.log(res);
- const data = res.data.data;
- this.page.total = data.total;
- this.data = data.records;
- console.log(this.data);
- this.loading = false;
- });
- })
- })
- },
- handleImport() {
- this.excelBox = true;
- },
-
- handleTemplate() {
- window.open(`/api/trainingRegistration/export-template`);
- },
- uploadAfter(res, done, loading, column) {
- window.console.log(column);
- this.excelBox = false;
- this.refreshChange();
- done();
- },
//生成考试弹窗
handleBatchExam() {
this.dialogExamFormVisible = true;
- if (this.selectionList.length === 0) {
+ if (this.questionBankSelectionList.length === 0) {
this.ids = "";
}
},
@@ -582,35 +1033,34 @@
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();
- return;
+ if (row.number != row.serialEnd - row.serialStart + 1) {
+ this.$message({
+ type: "error",
+ message: "考试人数与序号不匹配!",
+ });
+ done();
+ return;
}
var s = new Date(row.startTime);
var e = new Date(row.endTime);
- if(s>e){
+ if (s > e) {
this.$message({
- type: "error",
- message: "截止时间不能早于考试考试开始时间!",
- });
- done();
- return;
+ type: "error",
+ message: "截止时间不能早于考试考试开始时间!",
+ });
+ done();
+ return;
}
-
- addExam(Object.assign(row, this.search)).then(
+ addExam(Object.assign(row, this.questionBankSearch)).then(
() => {
- this.onLoad(this.page);
- that.$refs.formExamApply.resetFields();
- that.dialogExamFormVisible = false;
+ this.questionBankOnLoad(this.questionBankPage);
this.$message({
type: "success",
- message: "操作成功",
+ message: "操作成功!",
});
+ that.$refs.formExamApply.resetFields();
+ that.dialogExamFormVisible = false;
done();
},
(error) => {
@@ -623,9 +1073,93 @@
closeDialog() {
this.$refs.formExamApply.resetFields();
},
+
+ questionBankRowDel(row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ return remove(row.id);
+ })
+ .then(() => {
+ this.questionBankOnLoad(this.questionBankPage);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ });
+ },
+
+ //取消报名
+ handleCancel(row) {
+ this.$confirm("确定取消报名?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ row.cancel = 2;
+ row['isExam'] = 1;
+ return cancelTrain(row);
+ })
+ .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();
+ });
+ },
+ 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>
+<style lang="scss" scoped>
</style>
diff --git a/vue.config.js b/vue.config.js
index 3822093..525b2f8 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -30,6 +30,8 @@
// target: 'http://localhost:83',
// target: 'http://192.168.0.114:83',//钟日健W
// target: 'http://192.168.0.106:83',//曾杭W
+ // target: 'http://localhost:81',
+ // target: 'http://192.168.0.115:83',//钟日健W
// target: 'http://localhost:81', //原W
// target: 'http://192.168.0.115:83',//原W
// target: 'http://192.168.0.107:83',//唐N
@@ -42,4 +44,4 @@
}
}
}
-};
\ No newline at end of file
+};
--
Gitblit v1.9.3