外宿申请-初始化

This commit is contained in:
962704835@qq.com
2025-12-05 19:20:14 +08:00
parent 7fb7b430bb
commit 614791b101
6 changed files with 1439 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询外宿申请列表
export function listOutsideAccommodationApply(query) {
return request({
url: '/dormitory/outsideAccommodationApply/list',
method: 'get',
params: query
})
}
// 查询外宿申请详细
export function getOutsideAccommodationApply(id) {
return request({
url: '/dormitory/outsideAccommodationApply/' + id,
method: 'get'
})
}
// 新增外宿申请
export function addOutsideAccommodationApply(data) {
return request({
url: '/dormitory/outsideAccommodationApply/add',
method: 'post',
data: data
})
}
// 修改外宿申请
export function updateOutsideAccommodationApply(data) {
return request({
url: '/dormitory/outsideAccommodationApply/update',
method: 'post',
data: data
})
}
// 删除外宿申请
export function delOutsideAccommodationApply(id) {
return request({
url: '/dormitory/outsideAccommodationApply/' + id,
method: 'post'
})
}

View File

@@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询外宿申请审批记录列表
export function listOutsideAccommodationApproval(query) {
return request({
url: '/dormitory/outsideAccommodationApproval/list',
method: 'get',
params: query
})
}
// 查询外宿申请审批记录详细
export function getOutsideAccommodationApproval(id) {
return request({
url: '/dormitory/outsideAccommodationApproval/' + id,
method: 'get'
})
}
// 新增外宿申请审批记录
export function addOutsideAccommodationApproval(data) {
return request({
url: '/dormitory/outsideAccommodationApproval/add',
method: 'post',
data: data
})
}
// 修改外宿申请审批记录
export function updateOutsideAccommodationApproval(data) {
return request({
url: '/dormitory/outsideAccommodationApproval/update',
method: 'post',
data: data
})
}
// 删除外宿申请审批记录
export function delOutsideAccommodationApproval(id) {
return request({
url: '/dormitory/outsideAccommodationApproval/' + id,
method: 'post'
})
}

View File

@@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询外宿申请附件列表
export function listOutsideAccommodationAttachment(query) {
return request({
url: '/dormitory/outsideAccommodationAttachment/list',
method: 'get',
params: query
})
}
// 查询外宿申请附件详细
export function getOutsideAccommodationAttachment(id) {
return request({
url: '/dormitory/outsideAccommodationAttachment/' + id,
method: 'get'
})
}
// 新增外宿申请附件
export function addOutsideAccommodationAttachment(data) {
return request({
url: '/dormitory/outsideAccommodationAttachment/add',
method: 'post',
data: data
})
}
// 修改外宿申请附件
export function updateOutsideAccommodationAttachment(data) {
return request({
url: '/dormitory/outsideAccommodationAttachment/update',
method: 'post',
data: data
})
}
// 删除外宿申请附件
export function delOutsideAccommodationAttachment(id) {
return request({
url: '/dormitory/outsideAccommodationAttachment/' + id,
method: 'post'
})
}

View File

@@ -0,0 +1,682 @@
<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="applyNo">
<el-input v-model="queryParams.applyNo" placeholder="请输入申请编号" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="学生ID" prop="studentId">
<el-input v-model="queryParams.studentId" placeholder="请输入学生ID" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="学号" prop="studentNo">
<el-input v-model="queryParams.studentNo" placeholder="请输入学号" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="学生姓名" prop="studentName">
<el-input v-model="queryParams.studentName" placeholder="请输入学生姓名" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="性别" prop="gender">
<el-input v-model="queryParams.gender" placeholder="请输入性别" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="出生年月" prop="birthDate">
<el-date-picker clearable v-model="queryParams.birthDate" type="date" value-format="yyyy-MM-dd"
placeholder="请选择出生年月">
</el-date-picker>
</el-form-item>
<el-form-item label="学院ID" prop="deptId">
<el-input v-model="queryParams.deptId" placeholder="请输入学院ID" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="学院名称" prop="deptName">
<el-input v-model="queryParams.deptName" placeholder="请输入学院名称" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="专业ID" prop="majorId">
<el-input v-model="queryParams.majorId" placeholder="请输入专业ID" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="专业名称" prop="majorName">
<el-input v-model="queryParams.majorName" placeholder="请输入专业名称" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="班级ID" prop="classId">
<el-input v-model="queryParams.classId" placeholder="请输入班级ID" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="班级名称" prop="className">
<el-input v-model="queryParams.className" placeholder="请输入班级名称" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="原宿舍号" prop="originalDormitory">
<el-input v-model="queryParams.originalDormitory" placeholder="请输入原宿舍号" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="外宿详细地址" prop="outsideAddress">
<el-input v-model="queryParams.outsideAddress" placeholder="请输入外宿详细地址" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="外宿地址-省" prop="province">
<el-input v-model="queryParams.province" placeholder="请输入外宿地址-省" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="外宿地址-市" prop="city">
<el-input v-model="queryParams.city" placeholder="请输入外宿地址-市" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="外宿地址-区/县" prop="district">
<el-input v-model="queryParams.district" placeholder="请输入外宿地址-区/县" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="外宿紧急联系人" prop="emergencyContact">
<el-input v-model="queryParams.emergencyContact" placeholder="请输入外宿紧急联系人" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="紧急联系人电话" prop="emergencyPhone">
<el-input v-model="queryParams.emergencyPhone" placeholder="请输入紧急联系人电话" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="家长意见" prop="parentOpinion">
<el-input v-model="queryParams.parentOpinion" placeholder="请输入家长意见" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="家长签字附件URL" prop="parentSignAttachment">
<el-input v-model="queryParams.parentSignAttachment" placeholder="请输入家长签字附件URL" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="家长联系电话" prop="parentPhone">
<el-input v-model="queryParams.parentPhone" placeholder="请输入家长联系电话" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="家长通讯地址-省" prop="parentProvince">
<el-input v-model="queryParams.parentProvince" placeholder="请输入家长通讯地址-省" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="家长通讯地址-市" prop="parentCity">
<el-input v-model="queryParams.parentCity" placeholder="请输入家长通讯地址-市" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="家长通讯地址-区/县" prop="parentDistrict">
<el-input v-model="queryParams.parentDistrict" placeholder="请输入家长通讯地址-区/县" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="家长通讯地址-详细地址" prop="parentDetailAddress">
<el-input v-model="queryParams.parentDetailAddress" placeholder="请输入家长通讯地址-详细地址" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="学生承诺电子签URL" prop="studentPromiseSign">
<el-input v-model="queryParams.studentPromiseSign" placeholder="请输入学生承诺电子签URL" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="承诺签署日期" prop="promiseDate">
<el-date-picker clearable v-model="queryParams.promiseDate" type="date" value-format="yyyy-MM-dd"
placeholder="请选择承诺签署日期">
</el-date-picker>
</el-form-item>
<el-form-item label="外宿开始时间" prop="startDate">
<el-date-picker clearable v-model="queryParams.startDate" type="date" value-format="yyyy-MM-dd"
placeholder="请选择外宿开始时间">
</el-date-picker>
</el-form-item>
<el-form-item label="外宿结束时间" prop="endDate">
<el-date-picker clearable v-model="queryParams.endDate" type="date" value-format="yyyy-MM-dd"
placeholder="请选择外宿结束时间">
</el-date-picker>
</el-form-item>
<el-form-item label="是否有效" prop="isValid">
<el-input v-model="queryParams.isValid" placeholder="请输入是否有效" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="辅导员姓名" prop="teacherName">
<el-input v-model="queryParams.teacherName" placeholder="请输入辅导员姓名" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="附件id" prop="affixId">
<el-input v-model="queryParams.affixId" placeholder="请输入附件id" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="流程部署编号" prop="deployId">
<el-input v-model="queryParams.deployId" placeholder="请输入流程部署编号" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="Flowable流程实例ID" prop="processInstanceId">
<el-input v-model="queryParams.processInstanceId" placeholder="请输入Flowable流程实例ID" 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="['dormitory:outsideAccommodationApply: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="['dormitory:outsideAccommodationApply: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="['dormitory:outsideAccommodationApply: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="['dormitory:outsideAccommodationApply:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="outsideAccommodationApplyList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="主键ID" align="center" prop="id" />
<el-table-column label="申请编号" align="center" prop="applyNo" />
<el-table-column label="学生ID" align="center" prop="studentId" />
<el-table-column label="学号" align="center" prop="studentNo" />
<el-table-column label="学生姓名" align="center" prop="studentName" />
<el-table-column label="性别" align="center" prop="gender" />
<el-table-column label="出生年月" align="center" prop="birthDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.birthDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="学院ID" align="center" prop="deptId" />
<el-table-column label="学院名称" align="center" prop="deptName" />
<el-table-column label="专业ID" align="center" prop="majorId" />
<el-table-column label="专业名称" align="center" prop="majorName" />
<el-table-column label="班级ID" align="center" prop="classId" />
<el-table-column label="班级名称" align="center" prop="className" />
<el-table-column label="原宿舍号" align="center" prop="originalDormitory" />
<el-table-column label="住宿费缴纳状态" align="center" prop="accommodationFeeStatus" />
<el-table-column label="外宿原因" align="center" prop="applyReason" />
<el-table-column label="外宿详细地址" align="center" prop="outsideAddress" />
<el-table-column label="外宿地址-省" align="center" prop="province" />
<el-table-column label="外宿地址-市" align="center" prop="city" />
<el-table-column label="外宿地址-区/县" align="center" prop="district" />
<el-table-column label="外宿紧急联系人" align="center" prop="emergencyContact" />
<el-table-column label="紧急联系人电话" align="center" prop="emergencyPhone" />
<el-table-column label="家长意见" align="center" prop="parentOpinion" />
<el-table-column label="家长签字附件URL" align="center" prop="parentSignAttachment" />
<el-table-column label="家长联系电话" align="center" prop="parentPhone" />
<el-table-column label="家长通讯地址-省" align="center" prop="parentProvince" />
<el-table-column label="家长通讯地址-市" align="center" prop="parentCity" />
<el-table-column label="家长通讯地址-区/县" align="center" prop="parentDistrict" />
<el-table-column label="家长通讯地址-详细地址" align="center" prop="parentDetailAddress" />
<el-table-column label="学生承诺电子签URL" align="center" prop="studentPromiseSign" />
<el-table-column label="承诺签署日期" align="center" prop="promiseDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.promiseDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="外宿开始时间" align="center" prop="startDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.startDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="外宿结束时间" align="center" prop="endDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.endDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="申请状态" align="center" prop="status" />
<el-table-column label="驳回原因" align="center" prop="rejectReason" />
<el-table-column label="是否有效" align="center" prop="isValid" />
<el-table-column label="辅导员姓名" align="center" prop="teacherName" />
<el-table-column label="附件id" align="center" prop="affixId" />
<el-table-column label="流程部署编号" align="center" prop="deployId" />
<el-table-column label="Flowable流程实例ID" align="center" prop="processInstanceId" />
<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="['dormitory:outsideAccommodationApply:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['dormitory:outsideAccommodationApply: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="applyNo">
<el-input v-model="form.applyNo" placeholder="请输入申请编号" />
</el-form-item>
<el-form-item label="学生ID" prop="studentId">
<el-input v-model="form.studentId" placeholder="请输入学生ID" />
</el-form-item>
<el-form-item label="学号" prop="studentNo">
<el-input v-model="form.studentNo" placeholder="请输入学号" />
</el-form-item>
<el-form-item label="学生姓名" prop="studentName">
<el-input v-model="form.studentName" placeholder="请输入学生姓名" />
</el-form-item>
<el-form-item label="性别" prop="gender">
<el-input v-model="form.gender" placeholder="请输入性别" />
</el-form-item>
<el-form-item label="出生年月" prop="birthDate">
<el-date-picker clearable v-model="form.birthDate" type="date" value-format="yyyy-MM-dd"
placeholder="请选择出生年月">
</el-date-picker>
</el-form-item>
<el-form-item label="学院ID" prop="deptId">
<el-input v-model="form.deptId" placeholder="请输入学院ID" />
</el-form-item>
<el-form-item label="学院名称" prop="deptName">
<el-input v-model="form.deptName" placeholder="请输入学院名称" />
</el-form-item>
<el-form-item label="专业ID" prop="majorId">
<el-input v-model="form.majorId" placeholder="请输入专业ID" />
</el-form-item>
<el-form-item label="专业名称" prop="majorName">
<el-input v-model="form.majorName" placeholder="请输入专业名称" />
</el-form-item>
<el-form-item label="班级ID" prop="classId">
<el-input v-model="form.classId" placeholder="请输入班级ID" />
</el-form-item>
<el-form-item label="班级名称" prop="className">
<el-input v-model="form.className" placeholder="请输入班级名称" />
</el-form-item>
<el-form-item label="原宿舍号" prop="originalDormitory">
<el-input v-model="form.originalDormitory" placeholder="请输入原宿舍号" />
</el-form-item>
<el-form-item label="外宿原因" prop="applyReason">
<el-input v-model="form.applyReason" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="外宿详细地址" prop="outsideAddress">
<el-input v-model="form.outsideAddress" placeholder="请输入外宿详细地址" />
</el-form-item>
<el-form-item label="外宿地址-省" prop="province">
<el-input v-model="form.province" placeholder="请输入外宿地址-省" />
</el-form-item>
<el-form-item label="外宿地址-市" prop="city">
<el-input v-model="form.city" placeholder="请输入外宿地址-市" />
</el-form-item>
<el-form-item label="外宿地址-区/县" prop="district">
<el-input v-model="form.district" placeholder="请输入外宿地址-区/县" />
</el-form-item>
<el-form-item label="外宿紧急联系人" prop="emergencyContact">
<el-input v-model="form.emergencyContact" placeholder="请输入外宿紧急联系人" />
</el-form-item>
<el-form-item label="紧急联系人电话" prop="emergencyPhone">
<el-input v-model="form.emergencyPhone" placeholder="请输入紧急联系人电话" />
</el-form-item>
<el-form-item label="家长意见" prop="parentOpinion">
<el-input v-model="form.parentOpinion" placeholder="请输入家长意见" />
</el-form-item>
<el-form-item label="家长签字附件URL" prop="parentSignAttachment">
<el-input v-model="form.parentSignAttachment" placeholder="请输入家长签字附件URL" />
</el-form-item>
<el-form-item label="家长联系电话" prop="parentPhone">
<el-input v-model="form.parentPhone" placeholder="请输入家长联系电话" />
</el-form-item>
<el-form-item label="家长通讯地址-省" prop="parentProvince">
<el-input v-model="form.parentProvince" placeholder="请输入家长通讯地址-省" />
</el-form-item>
<el-form-item label="家长通讯地址-市" prop="parentCity">
<el-input v-model="form.parentCity" placeholder="请输入家长通讯地址-市" />
</el-form-item>
<el-form-item label="家长通讯地址-区/县" prop="parentDistrict">
<el-input v-model="form.parentDistrict" placeholder="请输入家长通讯地址-区/县" />
</el-form-item>
<el-form-item label="家长通讯地址-详细地址" prop="parentDetailAddress">
<el-input v-model="form.parentDetailAddress" placeholder="请输入家长通讯地址-详细地址" />
</el-form-item>
<el-form-item label="学生承诺电子签URL" prop="studentPromiseSign">
<el-input v-model="form.studentPromiseSign" placeholder="请输入学生承诺电子签URL" />
</el-form-item>
<el-form-item label="承诺签署日期" prop="promiseDate">
<el-date-picker clearable v-model="form.promiseDate" type="date" value-format="yyyy-MM-dd"
placeholder="请选择承诺签署日期">
</el-date-picker>
</el-form-item>
<el-form-item label="外宿开始时间" prop="startDate">
<el-date-picker clearable v-model="form.startDate" type="date" value-format="yyyy-MM-dd"
placeholder="请选择外宿开始时间">
</el-date-picker>
</el-form-item>
<el-form-item label="外宿结束时间" prop="endDate">
<el-date-picker clearable v-model="form.endDate" type="date" value-format="yyyy-MM-dd"
placeholder="请选择外宿结束时间">
</el-date-picker>
</el-form-item>
<el-form-item label="驳回原因" prop="rejectReason">
<el-input v-model="form.rejectReason" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="是否有效" prop="isValid">
<el-input v-model="form.isValid" placeholder="请输入是否有效" />
</el-form-item>
<el-form-item label="辅导员姓名" prop="teacherName">
<el-input v-model="form.teacherName" placeholder="请输入辅导员姓名" />
</el-form-item>
<el-form-item label="附件id" prop="affixId">
<el-input v-model="form.affixId" placeholder="请输入附件id" />
</el-form-item>
<el-form-item label="流程部署编号" prop="deployId">
<el-input v-model="form.deployId" placeholder="请输入流程部署编号" />
</el-form-item>
<el-form-item label="Flowable流程实例ID" prop="processInstanceId">
<el-input v-model="form.processInstanceId" placeholder="请输入Flowable流程实例ID" />
</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 { listOutsideAccommodationApply, getOutsideAccommodationApply, delOutsideAccommodationApply, addOutsideAccommodationApply, updateOutsideAccommodationApply } from "@/api/dormitory/outsideAccommodation/outsideAccommodationApply";
export default {
name: "OutsideAccommodationApply",
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 外宿申请表格数据
outsideAccommodationApplyList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
applyNo: null,
studentId: null,
studentNo: null,
studentName: null,
gender: null,
birthDate: null,
deptId: null,
deptName: null,
majorId: null,
majorName: null,
classId: null,
className: null,
originalDormitory: null,
accommodationFeeStatus: null,
applyReason: null,
outsideAddress: null,
province: null,
city: null,
district: null,
emergencyContact: null,
emergencyPhone: null,
parentOpinion: null,
parentSignAttachment: null,
parentPhone: null,
parentProvince: null,
parentCity: null,
parentDistrict: null,
parentDetailAddress: null,
studentPromiseSign: null,
promiseDate: null,
startDate: null,
endDate: null,
status: null,
rejectReason: null,
isValid: null,
teacherName: null,
affixId: null,
deployId: null,
processInstanceId: null
},
// 表单参数
form: {},
// 表单校验
rules: {
applyNo: [
{ required: true, message: "申请编号不能为空", trigger: "blur" }
],
studentId: [
{ required: true, message: "学生ID不能为空", trigger: "blur" }
],
studentNo: [
{ required: true, message: "学号不能为空", trigger: "blur" }
],
studentName: [
{ required: true, message: "学生姓名不能为空", trigger: "blur" }
],
deptId: [
{ required: true, message: "学院ID不能为空", trigger: "blur" }
],
deptName: [
{ required: true, message: "学院名称不能为空", trigger: "blur" }
],
majorId: [
{ required: true, message: "专业ID不能为空", trigger: "blur" }
],
majorName: [
{ required: true, message: "专业名称不能为空", trigger: "blur" }
],
classId: [
{ required: true, message: "班级ID不能为空", trigger: "blur" }
],
className: [
{ required: true, message: "班级名称不能为空", trigger: "blur" }
],
originalDormitory: [
{ required: true, message: "原宿舍号不能为空", trigger: "blur" }
],
accommodationFeeStatus: [
{ required: true, message: "住宿费缴纳状态不能为空", trigger: "change" }
],
applyReason: [
{ required: true, message: "外宿原因不能为空", trigger: "blur" }
],
outsideAddress: [
{ required: true, message: "外宿详细地址不能为空", trigger: "blur" }
],
province: [
{ required: true, message: "外宿地址-省不能为空", trigger: "blur" }
],
city: [
{ required: true, message: "外宿地址-市不能为空", trigger: "blur" }
],
district: [
{ required: true, message: "外宿地址-区/县不能为空", trigger: "blur" }
],
emergencyContact: [
{ required: true, message: "外宿紧急联系人不能为空", trigger: "blur" }
],
emergencyPhone: [
{ required: true, message: "紧急联系人电话不能为空", trigger: "blur" }
],
parentOpinion: [
{ required: true, message: "家长意见不能为空", trigger: "blur" }
],
parentSignAttachment: [
{ required: true, message: "家长签字附件URL不能为空", trigger: "blur" }
],
parentPhone: [
{ required: true, message: "家长联系电话不能为空", trigger: "blur" }
],
parentProvince: [
{ required: true, message: "家长通讯地址-省不能为空", trigger: "blur" }
],
parentCity: [
{ required: true, message: "家长通讯地址-市不能为空", trigger: "blur" }
],
parentDistrict: [
{ required: true, message: "家长通讯地址-区/县不能为空", trigger: "blur" }
],
parentDetailAddress: [
{ required: true, message: "家长通讯地址-详细地址不能为空", trigger: "blur" }
],
studentPromiseSign: [
{ required: true, message: "学生承诺电子签URL不能为空", trigger: "blur" }
],
promiseDate: [
{ required: true, message: "承诺签署日期不能为空", trigger: "blur" }
],
startDate: [
{ required: true, message: "外宿开始时间不能为空", trigger: "blur" }
],
endDate: [
{ required: true, message: "外宿结束时间不能为空", trigger: "blur" }
],
status: [
{ required: true, message: "申请状态不能为空", trigger: "change" }
],
createTime: [
{ required: true, message: "创建时间不能为空", trigger: "blur" }
],
createBy: [
{ required: true, message: "创建人不能为空", trigger: "blur" }
],
updateTime: [
{ required: true, message: "更新时间不能为空", trigger: "blur" }
],
isValid: [
{ required: true, message: "是否有效不能为空", trigger: "blur" }
],
teacherName: [
{ required: true, message: "辅导员姓名不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询外宿申请列表 */
getList() {
this.loading = true;
listOutsideAccommodationApply(this.queryParams).then(response => {
this.outsideAccommodationApplyList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
applyNo: null,
studentId: null,
studentNo: null,
studentName: null,
gender: null,
birthDate: null,
deptId: null,
deptName: null,
majorId: null,
majorName: null,
classId: null,
className: null,
originalDormitory: null,
accommodationFeeStatus: null,
applyReason: null,
outsideAddress: null,
province: null,
city: null,
district: null,
emergencyContact: null,
emergencyPhone: null,
parentOpinion: null,
parentSignAttachment: null,
parentPhone: null,
parentProvince: null,
parentCity: null,
parentDistrict: null,
parentDetailAddress: null,
studentPromiseSign: null,
promiseDate: null,
startDate: null,
endDate: null,
status: null,
rejectReason: null,
createTime: null,
createBy: null,
updateTime: null,
updateBy: null,
isValid: null,
teacherName: null,
affixId: null,
deployId: null,
processInstanceId: null
};
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
getOutsideAccommodationApply(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) {
updateOutsideAccommodationApply(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addOutsideAccommodationApply(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 delOutsideAccommodationApply(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => { });
},
/** 导出按钮操作 */
handleExport() {
this.download('dormitory/outsideAccommodationApply/export', {
...this.queryParams
}, `outsideAccommodationApply_${new Date().getTime()}.xlsx`)
}
}
};
</script>

View File

@@ -0,0 +1,338 @@
<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="外宿申请ID" prop="applyId">
<el-input v-model="queryParams.applyId" placeholder="请输入外宿申请ID" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="申请编号" prop="applyNo">
<el-input v-model="queryParams.applyNo" placeholder="请输入申请编号" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="审批节点" prop="approvalNode">
<el-input v-model="queryParams.approvalNode" placeholder="请输入审批节点" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="审批人ID" prop="approverId">
<el-input v-model="queryParams.approverId" placeholder="请输入审批人ID" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="审批人姓名" prop="approverName">
<el-input v-model="queryParams.approverName" placeholder="请输入审批人姓名" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="审批人角色" prop="approverRole">
<el-input v-model="queryParams.approverRole" placeholder="请输入审批人角色" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="审批结果" prop="approvalResult">
<el-input v-model="queryParams.approvalResult" placeholder="请输入审批结果" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="审批时间" prop="approvalTime">
<el-date-picker clearable v-model="queryParams.approvalTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择审批时间">
</el-date-picker>
</el-form-item>
<el-form-item label="流程实例ID" prop="processInstanceId">
<el-input v-model="queryParams.processInstanceId" placeholder="请输入流程实例ID" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="学生姓名" prop="studentName">
<el-input v-model="queryParams.studentName" placeholder="请输入学生姓名" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="学生学号" prop="studentNo">
<el-input v-model="queryParams.studentNo" 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="['dormitory:outsideAccommodationApproval: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="['dormitory:outsideAccommodationApproval: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="['dormitory:outsideAccommodationApproval: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="['dormitory:outsideAccommodationApproval:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="outsideAccommodationApprovalList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="主键ID" align="center" prop="id" />
<el-table-column label="外宿申请ID" align="center" prop="applyId" />
<el-table-column label="申请编号" align="center" prop="applyNo" />
<el-table-column label="审批节点" align="center" prop="approvalNode" />
<el-table-column label="审批人ID" align="center" prop="approverId" />
<el-table-column label="审批人姓名" align="center" prop="approverName" />
<el-table-column label="审批人角色" align="center" prop="approverRole" />
<el-table-column label="审批意见" align="center" prop="approvalOpinion" />
<el-table-column label="审批结果" align="center" prop="approvalResult" />
<el-table-column label="审批时间" align="center" prop="approvalTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.approvalTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="流程实例ID" align="center" prop="processInstanceId" />
<el-table-column label="学生姓名" align="center" prop="studentName" />
<el-table-column label="学生学号" align="center" prop="studentNo" />
<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="['dormitory:outsideAccommodationApproval:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['dormitory:outsideAccommodationApproval: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="外宿申请ID" prop="applyId">
<el-input v-model="form.applyId" placeholder="请输入外宿申请ID" />
</el-form-item>
<el-form-item label="申请编号" prop="applyNo">
<el-input v-model="form.applyNo" placeholder="请输入申请编号" />
</el-form-item>
<el-form-item label="审批节点" prop="approvalNode">
<el-input v-model="form.approvalNode" placeholder="请输入审批节点" />
</el-form-item>
<el-form-item label="审批人ID" prop="approverId">
<el-input v-model="form.approverId" placeholder="请输入审批人ID" />
</el-form-item>
<el-form-item label="审批人姓名" prop="approverName">
<el-input v-model="form.approverName" placeholder="请输入审批人姓名" />
</el-form-item>
<el-form-item label="审批人角色" prop="approverRole">
<el-input v-model="form.approverRole" placeholder="请输入审批人角色" />
</el-form-item>
<el-form-item label="审批意见" prop="approvalOpinion">
<el-input v-model="form.approvalOpinion" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="审批结果" prop="approvalResult">
<el-input v-model="form.approvalResult" placeholder="请输入审批结果" />
</el-form-item>
<el-form-item label="审批时间" prop="approvalTime">
<el-date-picker clearable v-model="form.approvalTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择审批时间">
</el-date-picker>
</el-form-item>
<el-form-item label="流程实例ID" prop="processInstanceId">
<el-input v-model="form.processInstanceId" placeholder="请输入流程实例ID" />
</el-form-item>
<el-form-item label="学生姓名" prop="studentName">
<el-input v-model="form.studentName" placeholder="请输入学生姓名" />
</el-form-item>
<el-form-item label="学生学号" prop="studentNo">
<el-input v-model="form.studentNo" 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 { listOutsideAccommodationApproval, getOutsideAccommodationApproval, delOutsideAccommodationApproval, addOutsideAccommodationApproval, updateOutsideAccommodationApproval } from "@/api/dormitory/outsideAccommodation/outsideAccommodationApproval";
export default {
name: "OutsideAccommodationApproval",
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 外宿申请审批记录表格数据
outsideAccommodationApprovalList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
applyId: null,
applyNo: null,
approvalNode: null,
approverId: null,
approverName: null,
approverRole: null,
approvalOpinion: null,
approvalResult: null,
approvalTime: null,
processInstanceId: null,
studentName: null,
studentNo: null
},
// 表单参数
form: {},
// 表单校验
rules: {
applyId: [
{ required: true, message: "外宿申请ID不能为空", trigger: "blur" }
],
applyNo: [
{ required: true, message: "申请编号不能为空", trigger: "blur" }
],
approvalNode: [
{ required: true, message: "审批节点不能为空", trigger: "blur" }
],
approverId: [
{ required: true, message: "审批人ID不能为空", trigger: "blur" }
],
approverName: [
{ required: true, message: "审批人姓名不能为空", trigger: "blur" }
],
approverRole: [
{ required: true, message: "审批人角色不能为空", trigger: "blur" }
],
approvalResult: [
{ required: true, message: "审批结果不能为空", trigger: "blur" }
],
approvalTime: [
{ required: true, message: "审批时间不能为空", trigger: "blur" }
],
studentName: [
{ required: true, message: "学生姓名不能为空", trigger: "blur" }
],
studentNo: [
{ required: true, message: "学生学号不能为空", trigger: "blur" }
]
}
};
},
created() {
this.getList();
},
methods: {
/** 查询外宿申请审批记录列表 */
getList() {
this.loading = true;
listOutsideAccommodationApproval(this.queryParams).then(response => {
this.outsideAccommodationApprovalList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
applyId: null,
applyNo: null,
approvalNode: null,
approverId: null,
approverName: null,
approverRole: null,
approvalOpinion: null,
approvalResult: null,
approvalTime: null,
processInstanceId: null,
studentName: null,
studentNo: null
};
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
getOutsideAccommodationApproval(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) {
updateOutsideAccommodationApproval(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addOutsideAccommodationApproval(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 delOutsideAccommodationApproval(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => { });
},
/** 导出按钮操作 */
handleExport() {
this.download('dormitory/outsideAccommodationApproval/export', {
...this.queryParams
}, `outsideAccommodationApproval_${new Date().getTime()}.xlsx`)
}
}
};
</script>

View File

@@ -0,0 +1,287 @@
<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="外宿申请ID" prop="applyId">
<el-input v-model="queryParams.applyId" placeholder="请输入外宿申请ID" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="附件名称" prop="attachmentName">
<el-input v-model="queryParams.attachmentName" placeholder="请输入附件名称" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="附件存储URL" prop="attachmentUrl">
<el-input v-model="queryParams.attachmentUrl" placeholder="请输入附件存储URL" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="附件大小" prop="fileSize">
<el-input v-model="queryParams.fileSize" placeholder="请输入附件大小" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="附件后缀" prop="fileSuffix">
<el-input v-model="queryParams.fileSuffix" placeholder="请输入附件后缀" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="流程实例ID" prop="processInstanceId">
<el-input v-model="queryParams.processInstanceId" placeholder="请输入流程实例ID" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="学生姓名" prop="studentName">
<el-input v-model="queryParams.studentName" placeholder="请输入学生姓名" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="学生学号" prop="studentNo">
<el-input v-model="queryParams.studentNo" 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="['dormitory:outsideAccommodationAttachment: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="['dormitory:outsideAccommodationAttachment: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="['dormitory:outsideAccommodationAttachment: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="['dormitory:outsideAccommodationAttachment:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="outsideAccommodationAttachmentList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="主键ID" align="center" prop="id" />
<el-table-column label="外宿申请ID" align="center" prop="applyId" />
<el-table-column label="附件名称" align="center" prop="attachmentName" />
<el-table-column label="附件存储URL" align="center" prop="attachmentUrl" />
<el-table-column label="附件类型" align="center" prop="attachmentType" />
<el-table-column label="附件大小" align="center" prop="fileSize" />
<el-table-column label="附件后缀" align="center" prop="fileSuffix" />
<el-table-column label="流程实例ID" align="center" prop="processInstanceId" />
<el-table-column label="学生姓名" align="center" prop="studentName" />
<el-table-column label="学生学号" align="center" prop="studentNo" />
<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="['dormitory:outsideAccommodationAttachment:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['dormitory:outsideAccommodationAttachment: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="外宿申请ID" prop="applyId">
<el-input v-model="form.applyId" placeholder="请输入外宿申请ID" />
</el-form-item>
<el-form-item label="附件名称" prop="attachmentName">
<el-input v-model="form.attachmentName" placeholder="请输入附件名称" />
</el-form-item>
<el-form-item label="附件存储URL" prop="attachmentUrl">
<el-input v-model="form.attachmentUrl" placeholder="请输入附件存储URL" />
</el-form-item>
<el-form-item label="附件大小" prop="fileSize">
<el-input v-model="form.fileSize" placeholder="请输入附件大小" />
</el-form-item>
<el-form-item label="附件后缀" prop="fileSuffix">
<el-input v-model="form.fileSuffix" placeholder="请输入附件后缀" />
</el-form-item>
<el-form-item label="流程实例ID" prop="processInstanceId">
<el-input v-model="form.processInstanceId" placeholder="请输入流程实例ID" />
</el-form-item>
<el-form-item label="学生姓名" prop="studentName">
<el-input v-model="form.studentName" placeholder="请输入学生姓名" />
</el-form-item>
<el-form-item label="学生学号" prop="studentNo">
<el-input v-model="form.studentNo" 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 { listOutsideAccommodationAttachment, getOutsideAccommodationAttachment, delOutsideAccommodationAttachment, addOutsideAccommodationAttachment, updateOutsideAccommodationAttachment } from "@/api/dormitory/outsideAccommodation/outsideAccommodationAttachment";
export default {
name: "OutsideAccommodationAttachment",
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 外宿申请附件表格数据
outsideAccommodationAttachmentList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
applyId: null,
attachmentName: null,
attachmentUrl: null,
attachmentType: null,
fileSize: null,
fileSuffix: null,
processInstanceId: null,
studentName: null,
studentNo: null
},
// 表单参数
form: {},
// 表单校验
rules: {
applyId: [
{ required: true, message: "外宿申请ID不能为空", trigger: "blur" }
],
attachmentName: [
{ required: true, message: "附件名称不能为空", trigger: "blur" }
],
attachmentUrl: [
{ required: true, message: "附件存储URL不能为空", trigger: "blur" }
],
fileSuffix: [
{ required: true, message: "附件后缀不能为空", trigger: "blur" }
],
studentName: [
{ required: true, message: "学生姓名不能为空", trigger: "blur" }
],
studentNo: [
{ required: true, message: "学生学号不能为空", trigger: "blur" }
]
}
};
},
created() {
this.getList();
},
methods: {
/** 查询外宿申请附件列表 */
getList() {
this.loading = true;
listOutsideAccommodationAttachment(this.queryParams).then(response => {
this.outsideAccommodationAttachmentList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
applyId: null,
attachmentName: null,
attachmentUrl: null,
attachmentType: null,
fileSize: null,
fileSuffix: null,
createTime: null,
processInstanceId: null,
studentName: null,
studentNo: null
};
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
getOutsideAccommodationAttachment(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) {
updateOutsideAccommodationAttachment(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addOutsideAccommodationAttachment(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 delOutsideAccommodationAttachment(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => { });
},
/** 导出按钮操作 */
handleExport() {
this.download('dormitory/outsideAccommodationAttachment/export', {
...this.queryParams
}, `outsideAccommodationAttachment_${new Date().getTime()}.xlsx`)
}
}
};
</script>