Commit d8907953 by peijy

公开招聘 报名

parent fb3f0036
# 页面标题
VUE_APP_TITLE = 智慧校园管理系统
VUE_APP_TITLE = 网络数字信息化校园管理系统
# 开发环境配置
ENV = 'development'
......
# 页面标题
VUE_APP_TITLE = 智慧校园管理系统
VUE_APP_TITLE = 网络数字信息化校园管理系统
# 生产环境配置
ENV = 'production'
......
# 页面标题
VUE_APP_TITLE = 智慧校园管理系统
VUE_APP_TITLE = 网络数字信息化校园管理系统
NODE_ENV = production
......
import request from "@/utils/request";
/**
* 考试管理 接口
* */
// 查询考试列表
export function getExaList(queryParams) {
return request({
url: '/ /list',
method: 'get',
params: queryParams,
})
}
// 新增考试
export function addExamination(postForm) {
return request({
url: '/schoolExam/add',
method: 'post',
data: postForm
})
}
// 查询详情
export function getDetailInfo(id) {
return request({
url: '/schoolExam/queryOne/' + id,
method: 'get'
})
}
// 修改考试
export function updateExamination(postForm) {
return request({
url: '/schoolExam/edit',
method: 'put',
data: postForm
})
}
// 删除考试
export function deleteExa(ids) {
return request({
url: '/schoolExam/remove/' + ids,
method: 'delete'
})
}
// 导入考试
export function importDataSchedule(file) {
return request({
url: '/schoolExam/importData',
method: 'post',
data: file
})
}
// 下载模板
export function examTemplate() {
return request({
url: '/schoolExam/importTemplate',
method: 'get',
})
}
// 学生成绩列表
export function scoreList(examId, query) {
return request({
url: '/schoolExamDetail/list/' + examId,
method: 'get',
params: query,
})
}
// 查看学生成绩详情
export function scoreDetail(id) {
return request({
url: '/schoolExamDetail/queryOne/' + id,
method: 'get',
})
}
// 新增学生成绩
export function addScore(examId, data) {
// const data={examId,data};
return request({
url: '/schoolExamDetail/add/' + examId,
method: 'post',
data: data,
})
}
// 修改学生成绩
export function updateScore(data) {
return request({
url: '/schoolExamDetail/edit',
method: 'put',
data: data,
})
}
// 删除学生成绩
export function delScore(id) {
return request({
url: '/schoolExamDetail/remove/' + id,
method: 'delete',
})
}
/** 初中学校管理 */
// 查询初中学校列表
export function listSchool(query) {
return request({
url: '/juniorHighSchool/list',
method: 'get',
params: query
})
}
// 查询初中学校详细
export function getSchool(id) {
return request({
url: '/juniorHighSchool/getInfo/' + id,
method: 'get'
})
}
// 新增初中学校
export function addSchool(data) {
return request({
url: '/juniorHighSchool/add',
method: 'post',
data: data
})
}
// 修改初中学校
export function updateSchool(data) {
return request({
url: '/juniorHighSchool/edit',
method: 'put',
data: data
})
}
// 删除初中学校
export function delSchool(id) {
return request({
url: '/juniorHighSchool/delete/' + id,
method: 'delete'
})
}
// 测试项目
// 查询
export function listProject(query) {
return request({
url: '/schoolRecruitProject/list',
method: 'get',
params: query
})
}
// 信息审核查询测试项目
export function getProjectList(examId, query) {
return request({
url: '/schoolRecruitProject/getProjectList/' + examId,
method: 'get',
params: query
})
}
// 查询详细
export function getProject(id) {
return request({
url: '/schoolRecruitProject/getInfo/' + id,
method: 'get'
})
}
// 新增
export function addProject(data) {
return request({
url: '/schoolRecruitProject/add',
method: 'post',
data: data
})
}
// 修改
export function updateProject(data) {
return request({
url: '/schoolRecruitProject/edit',
method: 'put',
data: data
})
}
// 删除
export function delProject(id) {
return request({
url: '/schoolRecruitProject/' + id,
method: 'delete'
})
}
// 考生账号管理
// 考生账号管理查询学校艺术生信息列表
export function listStudent(query) {
return request({
url: '/recruitStudent/list',
method: 'get',
params: query
})
}
// 查询账号管理详细
export function getInfo(id) {
return request({
url: '/recruitStudent/getInfo/' + id,
method: 'get'
})
}
// 重置密码
export function resetPwd(id, password) {
const data = {
id,
password
}
console.log(data, 215);
return request({
url: '/recruitStudent/resetPwd',
method: 'put',
data: data
})
}
// 考试管理
// 查询考试管理列表
export function listExam(query) {
return request({
url: '/recruitExam/list',
method: 'get',
params: query
})
}
// 查询考试管理详细
export function getExam(id) {
return request({
url: '/recruitExam/getInfo/' + id,
method: 'get'
})
}
// 新增-保存
export function addExam(data) {
return request({
url: '/recruitExam/add',
method: 'post',
data: data
})
}
// 新增-发布
export function addPub(data) {
return request({
url: '/recruitExam/addPub',
method: 'post',
data: data
})
}
// 考试信息发布
export function editPub(data) {
return request({
url: '/recruitExam/editPub',
method: 'put',
data: data
})
}
// 修改的保存
export function edit(data) {
return request({
url: '/recruitExam/edit',
method: 'put',
data: data
})
}
// 修改的发布
export function updateExam(data) {
return request({
url: '/recruitExam/editPub',
method: 'put',
data: data
})
}
// 删除
export function delExam(id) {
return request({
url: '/recruitExam/delete/' + id,
method: 'delete'
})
}
// 身份证号获取信息
export function getPerInfo(idCard) {
return request({
url: `/school/student/queryAllInfoByidCard/${idCard}`,
method: 'get'
})
}
// 报名阶段信息审核 查询
export function checkList(id, query) {
return request({
url: '/recruitExam/checkList/' + id,
method: 'get',
params: query
})
}
// 报名阶段信息审核修改
export function updateRelation(id, data) {
return request({
url: '/recruitStudent/edit/' + id,
method: 'put',
data: data
})
}
// 查询学校艺术生信息详细
export function getStudent(id, examId) {
return request({
url: '/recruitStudent/getStuInfo/' + id + '/' + examId,
method: 'get',
// data: data
})
}
// 考场分配查询列表
export function addressList(id, query) {
return request({
url: '/recruitExam/addressList/' + id,
method: 'get',
params: query
})
}
// 考场分配 成绩管理 获取详情
export function getAddressInfo(id) {
return request({
url: '/artRelation/getAddressInfo/' + id,
method: 'get',
})
}
// 考场分配 成绩管理修改
export function handleEdit(data) {
return request({
url: '/artRelation/edit',
method: 'put',
data: data
})
}
// 考场分配发布
export function addressEnd(id) {
return request({
url: '/recruitExam/addressEnd/' + id,
method: 'put',
// data: data
})
}
// *** 成绩管理查询列表
export function scoreManageList(id, query) {
return request({
url: '/recruitExam/scoreList/' + id,
method: 'get',
params: query
})
}
// *** 成绩管理查发布
export function scoreEnd(id) {
return request({
url: '/recruitExam/scoreEnd/' + id,
method: 'put',
})
}
//导入教育局信息
export function importData(file, id) {
return request({
url: '/eduArtStudent/importData/' + id,
method: 'post',
params: file
})
}
// 文件上传方法
export function commonUpload(file, callback = null) {
return request({
url: '/common/upload',
method: 'post',
data: file,
onUploadProgress: progress => {
callback && callback(progress)
}
})
}
// 通过
export function pass(examId, studentIds) {
return request({
url: `/recruitExam/pass/${examId}/${studentIds}`,
method: 'put',
// data: file,
})
}
// 退回修改
export function back(examId, studentIds) {
return request({
url: `/recruitExam/back/${examId}/${studentIds}`,
method: 'put',
// data: file,
})
}
// 驳回
export function reject(examId, studentIds) {
return request({
url: `/recruitExam/reject/${examId}/${studentIds}`,
method: 'put',
// data: file,
})
}
// 单个通过
export function passOne(examId, studentIds) {
return request({
url: `/recruitExam/passOne/${examId}/${studentIds}`,
method: 'put',
// data: file,
})
}
// 单个退回修改
export function backOne(examId, studentIds) {
return request({
url: `/recruitExam/backOne/${examId}/${studentIds}`,
method: 'put',
// data: file,
})
}
// 单个驳回
export function rejectOne(examId, studentIds) {
return request({
url: `/recruitExam/rejectOne/${examId}/${studentIds}`,
method: 'put',
// data: file,
})
}
// 结束
export function checkEnd(examId) {
return request({
url: `/recruitExam/checkEnd/${examId}`,
method: 'put',
// data: file,
}).then(() => {
})
}
......@@ -41,7 +41,8 @@ export default {
},
data() {
return {
title: process.env.VUE_APP_TITLE,
// title: process.env.VUE_APP_TITLE,
title:'信息化校园管理系统',
logo: logoImg
}
}
......
......@@ -9,7 +9,7 @@
</div>
<app-main/>
<div class="footer">
<div class="pullright">© 2021 zhimin Copyright</div>
<!-- <div class="pullright">© 2021 zhimin Copyright</div>-->
</div>
<right-panel>
<settings/>
......
......@@ -12,6 +12,8 @@ import classAdviser from "@/router/routerMenus/classAdviser";
import officialWork from "@/router/routerMenus/officialWork";
import othersManage from "@/router/routerMenus/othersManage";
import examinationManage from "@/router/routerMenus/examinationManage";
import openRecruitment from "@/router/routerMenus/openRecruitment";
Vue.use(Router);
/* Layout */
import Layout from "@/layout";
......@@ -275,6 +277,8 @@ export const dynamicRoutes = [
...othersManage,
// 考务管理
...examinationManage,
//公开招聘
...openRecruitment,
];
// 防止连续点击多次路由报错
......
import Layout from '@/layout'
export default [
{
path: '/recruitment',
component: Layout,
hidden: true,
permissions: ['childrenHealth:earlyChildhoodSyndrome:archivesManagement:birthday:index'],
children: [
{
path: 'examManage/registeProcess',
component: () => import('@/views/smartSchool/openRecruitment/examManage/components/registeProcess'),
name: 'registeProcess',
meta: {
title: '报名流程'
}
},
{
path: 'examManage',
component: () => import('@/views/smartSchool/openRecruitment/examManage/index'),
name: 'examManage',
meta: {
title: '报名管理'
}
}
]
},
]
......@@ -184,9 +184,12 @@
<el-image :src="indexCalendarImg" style="width: 100%; height: 270px" />
</div>
<div style="position: absolute; width: 100%">
<div style="font-family: PingFang SC; color: #ffffff; font-size: 16px; margin-top: 20px; margin-left: 20px">
{{ user.userName }}, 欢迎登录智慧校园管理系统!
</div>
<!-- <div style="font-family: PingFang SC; color: #ffffff; font-size: 16px; margin-top: 20px; margin-left: 20px">-->
<!-- {{ user.userName }}, 欢迎登录智慧校园管理系统!-->
<!-- </div>-->
<div style="font-family: PingFang SC; color: #ffffff; font-size: 16px; margin-top: 20px; margin-left: 20px">
{{ user.userName }}, 欢迎登录网络数字信息化校园管理系统!
</div>
<div style="font-size: small; margin-top: 8px; color: #96c4f5; margin-left: 20px">
上次登录时间:{{ user.loginDate }}
</div>
......
......@@ -29,7 +29,9 @@
</div>
<div class="login-card-right">
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
<h3 class="title">智慧校园管理系统</h3>
<!-- <h3 class="title">智慧校园管理系统</h3>-->
<h3 class="title">网络数字信息化校园管理系统</h3>
<el-form-item prop="phonenumber">
<el-input
v-model="loginForm.phonenumber"
......@@ -87,7 +89,7 @@
</div>
<!-- 底部 -->
<div class="el-login-footer">
<span>© 2021 zhimin Copyright </span>
<!-- <span>© 2021 zhimin Copyright </span>-->
</div>
</div>
</template>
......
......@@ -25,7 +25,8 @@
</div>
<div class="login-card-right">
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
<h3 class="title">智慧校园管理系统</h3>
<!-- <h3 class="title">智慧校园管理系统</h3>-->
<h3 class="title">网络数字信息化校园管理系统</h3>
<el-form-item prop="phonenumber">
<el-input v-model="loginForm.phonenumber" type="text" auto-complete="off" placeholder="手机号码">
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
......@@ -67,7 +68,7 @@
</div>
<!-- 底部 -->
<div class="el-login-footer">
<span>© 2021 zhimin Copyright </span>
<!-- <span>© 2021 zhimin Copyright </span>-->
</div>
</div>
</template>
......
<template>
<div class="">
<!-- <el-tabs tab-position="left" style="height: 200px;"> -->
<el-tabs tab-position="left" v-model="activeTab" :before-leave="back">
<el-tab-pane label="考试信息" :disabled="disable" name="0">
<examInfo ref="examInfo" :examId="id" @sendStatus="sendStatus"></examInfo>
</el-tab-pane>
<el-tab-pane label="报名阶段(信息审核)" :disabled="disable1" name="1">
<InfoReview ref="InfoReview" :examId="id" @sendStatus="sendStatus"></InfoReview>
</el-tab-pane>
<el-tab-pane label="考场分配" :disabled="disable2" name="2">
<examRoomAllocate ref="examRoomAllocate" :examId="id" @sendStatus="sendStatus"/>
</el-tab-pane>
<el-tab-pane label="成绩管理" :disabled="disable3" name="3">
<scoreManage ref="scoreManage" :examId="id" @sendStatus="sendStatus"/>
</el-tab-pane>
<el-tab-pane label="返回列表" name="4">
</el-tab-pane>
</el-tabs>
</div>
</template>
<script>
import examInfo from "../components/examInfo.vue";
import InfoReview from "../components/InfoReview.vue";
import examRoomAllocate from "../components/examRoomAllocate.vue";
import scoreManage from "../components/scoreManage.vue";
import { getExam, listProject } from "@/api/smartSchool/openRecruitment";
export default {
name: '',
components: {
examInfo,
InfoReview,
examRoomAllocate,
scoreManage
},
created() {
this.id = this.$route.query.id
this.handleTab(this.$route.query.index)
this.sendStatus()
},
data() {
return {
id: null,
status: null,
activeTab: '0',
disable: true,
disable1: true,
disable2: true,
disable3: true,
statu: null,
// 测试项目
projectList: [],
}
},
methods: {
/** 设置activeTab */
handleTab(status) {
this.activeTab = status
if (status == '4') {
this.activeTab = '3'
}
switch (status) {
case '0':
this.disable = false;
break;
case '1':
this.disable = this.disable1 = false
break;
case '2':
this.disable = this.disable1 = this.disable2 = false
break;
case '3':
this.disable = this.disable1 = this.disable2 = this.disable3 = false
break;
case '4':
this.disable = this.disable1 = this.disable2 = this.disable3 = false
break;
}
},
// 发送状态
sendStatus() {
getExam(this.id).then(res => {
this.statu = res.data.status
this.isSearch(this.statu)
this.handleTab(this.statu)
});
// console.log(this.$refs.examInfo, 95);
// this.$refs.scoreManage.getStatus(statu)
},
// 判断状态
isSearch(index) {
switch (index) {
case '0':
this.$refs.examInfo.getStatus(this.statu)
break;
case '1':
this.$refs.InfoReview.getStatus(this.statu)
break;
case '2':
this.$refs.examRoomAllocate.getStatus(this.statu)
break;
case '3':
this.$refs.scoreManage.getStatus(this.statu)
break;
case '4':
this.$refs.scoreManage.getStatus(this.statu)
break;
default: return;
}
},
// 跳转
back(activeName) {
this.isSearch(activeName)
if (activeName == '4') {
// this.$router.go(-1)
this.$store.dispatch("tagsView/delView", this.$route);
this.$router.replace({
path: '/recruitment/examManage', })
}
},
},
}
</script>
<style scoped></style>
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="学校名称" prop="schoolName">
<el-input
v-model="queryParams.schoolName"
placeholder="请输入学校名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="学校代码" prop="schoolCode">
<el-input
v-model="queryParams.schoolCode"
placeholder="请输入学校代码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="排序" prop="order">
<el-input
v-model="queryParams.order"
placeholder="请输入排序"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> -->
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:school:add']"
>新增</el-button>
</el-col>
<!-- <el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['system:school:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['system:school:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['system:school:export']"
>导出</el-button>
</el-col> -->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="schoolList" @selection-change="handleSelectionChange">
<el-table-column type="index" width="55" align="center" />
<!-- <el-table-column label="${comment}" align="center" prop="id" /> -->
<el-table-column label="学校名称" align="center" prop="schoolName" />
<el-table-column label="学校代码" align="center" prop="schoolCode" />
<!-- <el-table-column label="排序" align="center" prop="order" /> -->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:school:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:school:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<!-- <pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/> -->
<!-- 添加或修改初中学校对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="学校名称" prop="schoolName">
<el-input v-model="form.schoolName" placeholder="请输入学校名称" />
</el-form-item>
<el-form-item label="学校代码" prop="schoolCode">
<el-input v-model="form.schoolCode" placeholder="请输入学校代码" />
</el-form-item>
<el-form-item label="排序" prop="schoolOrder">
<!-- <el-input-number v-model="form.schoolOrder" label="排序"></el-input-number> -->
<el-input-number v-model="form.schoolOrder" :min="1" :max="999" label="排序"></el-input-number>
</el-form-item>
<!-- <el-form-item label="排序" prop="schoolOrder">
<el-input v-model="form.schoolOrder" placeholder="请输入排序" />
</el-form-item> -->
<!-- <el-form-item label="${comment}" prop="delFlag">
<el-input v-model="form.delFlag" placeholder="请输入${comment}" />
</el-form-item> -->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listSchool, getSchool, delSchool, addSchool, updateSchool } from "@/api/smartSchool/examinationManage";
export default {
name: "School",
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 初中学校表格数据
schoolList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
schoolName: null,
schoolCode: null,
order: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
schoolName: [
{ required: true, message: "学校名称不能为空", trigger: "blur" }
],
schoolCode: [
{ required: true, message: "学校代码不能为空", trigger: "blur" }
],
schoolOrder: [
{ required: true, message: "排序不能为空", trigger: "blur" }
]
}
};
},
created() {
this.getList();
},
methods: {
/** 查询初中学校列表 */
getList() {
// this.loading = false;
this.loading = true;
listSchool(this.queryParams).then(response => {
this.schoolList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
schoolName: null,
schoolCode: null,
order: null,
createTime: null,
createBy: null,
updateTime: null,
updateBy: null,
delFlag: null,
schoolOrder: 1,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加初中学校";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getSchool(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改初中学校";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateSchool(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addSchool(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除初中学校编号为"' + ids + '"的数据项?').then(function() {
return delSchool(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('system/school/export', {
...this.queryParams
}, `school_${new Date().getTime()}.xlsx`)
}
}
};
</script>
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<!-- <el-form-item label="测试项目" prop="project">
<el-input
v-model="queryParams.project"
placeholder="请输入测试项目"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> -->
<el-form-item label="测试项目" prop="project">
<el-input v-model="queryParams.project" placeholder="请输入测试项目" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['system:project:add']">新增</el-button>
</el-col>
<!-- <el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['system:project:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['system:project:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['system:project:export']"
>导出</el-button>
</el-col> -->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="projectList" @selection-change="handleSelectionChange">
<el-table-column type="index" width="55" align="center" />
<!-- <el-table-column label="${comment}" align="center" prop="id" /> -->
<el-table-column label="类别" align="center" prop="type">
<template slot-scope="scope">
<dict-tag :options="dict.type.zp_category" :value="scope.row.type" />
</template>
</el-table-column>
<el-table-column label="考试项目" align="center" prop="project" />
<!-- <el-table-column label="排序" align="center" prop="order" /> -->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['system:project:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['system:project:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
<!-- <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList" /> -->
<!-- 添加或修改examination对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="类别" prop="type">
<el-select v-model="form.type" style="width: 100%" placeholder="请选择类别">
<el-option v-for="dict in dict.type.zp_category" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
<!-- <el-input v-model="form.delFlag" placeholder="请选择类别" /> -->
</el-form-item>
<el-form-item label="考试项目" prop="project">
<el-input v-model="form.project" placeholder="请输入考试项目" />
</el-form-item>
<el-form-item label="排序" prop="schoolOrder">
<el-input-number v-model="form.schoolOrder" :min="1" :max="999" label="排序"></el-input-number>
</el-form-item>
<!-- <el-form-item label="排序" prop="schoolOrder">
<el-input v-model="form.schoolOrder" placeholder="请输入排序" />
</el-form-item> -->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listProject, getProject, delProject, addProject, updateProject } from "@/api/smartSchool/openRecruitment";
export default {
dicts: ['zp_category'],
name: "Project",
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// examination表格数据
projectList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
type: null,
project: null,
order: null,
},
// 表单参数
form: {
},
// 表单校验
rules: {
type: [
{ required: true, message: "类别不能为空", trigger: "blur" }
],
project: [
{ required: true, message: "考试项目不能为空", trigger: "blur" }
],
schoolOrder: [
{ required: true, message: "排序不能为空", trigger: "blur" }
]
}
};
},
created() {
this.getList();
},
methods: {
/** 查询examination列表 */
getList() {
// this.loading = false;
this.loading = true;
listProject(this.queryParams).then(response => {
this.projectList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
type: null,
project: null,
order: null,
createTime: null,
createBy: null,
updateTime: null,
updateBy: null,
delFlag: null,
schoolOrder: 1,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加";
// this.form.schoolOrder = 1
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getProject(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateProject(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addProject(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除编号为"' + ids + '"的数据项?').then(function () {
return delProject(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => { });
},
/** 导出按钮操作 */
handleExport() {
this.download('system/project/export', {
...this.queryParams
}, `project_${Date.now()}.xlsx`)
}
}
};
</script>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment