招生
This commit is contained in:
280
src/views/recruit/newstucheckin/stu-check-in.vue
Normal file
280
src/views/recruit/newstucheckin/stu-check-in.vue
Normal file
@@ -0,0 +1,280 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-dialog :visible.sync="newStuCheckInDialog" width="40%">
|
||||
<el-form :model="form" :rules="rules" ref="form" label-width="120px"
|
||||
class="demo-ruleForm">
|
||||
|
||||
<el-form-item label="姓名" prop="realName">
|
||||
<el-input v-model="form.name" style=" width: 80%"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="性别" prop="gender">
|
||||
<el-select v-model="form.gender" placeholder="请选择性别" style=" width: 80%">
|
||||
<el-option
|
||||
v-for="item in genderData"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="身份证号" prop="idCard">
|
||||
<el-input v-model="form.idNumber" style=" width: 80%"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="报到状态" prop="checkInStatus">
|
||||
<el-select v-model="form.checkInStatus" filterable placeholder="请选择报到状态" style=" width: 80% ">
|
||||
<el-option
|
||||
v-for="item in checkInStatusData"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="是否住宿" prop="isRoom" v-if="isRoomTab">
|
||||
<el-select v-model="form.isRoom" filterable placeholder="是否住宿" style=" width: 80% ">
|
||||
<el-option
|
||||
v-for="item in yesOrNoData"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="宿舍号" prop="roomNo" v-if="isRoomTab && form.isRoom=='1'">
|
||||
<!-- <el-select v-model="form.roomNo" filterable placeholder="请选择房间号" :remote-method="remoteMethod" style=" width: 80% ">-->
|
||||
<el-select
|
||||
v-model="form.roomNo"
|
||||
filterable
|
||||
remote
|
||||
placeholder="请选择宿舍号"
|
||||
:remote-method="remoteMethod"
|
||||
@change="change"
|
||||
:loading="loading"
|
||||
style=" width: 80% "
|
||||
>
|
||||
<el-option
|
||||
v-for="item in roomNoList"
|
||||
:key="item.id"
|
||||
:label="item.roomNo"
|
||||
:value="item.roomNo">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
|
||||
<el-form-item label="床号" prop="bedNo" v-if="isRoomTab && form.isRoom=='1'">
|
||||
<el-select v-model="form.bedNo" filterable placeholder="请选择床号" style=" width: 80% ">
|
||||
<el-option
|
||||
v-for="item in bedNoData"
|
||||
:key="item.bedNo"
|
||||
:label="item.bedNo"
|
||||
:value="item.bedNo"
|
||||
:disabled="isRoomDisable(item.notBedNo)">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="备注" prop="remarks">
|
||||
<el-input v-model="form.remarks" :rows="2" style=" width: 80%"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="checkIn('form')" v-loading="submitLoading">确定</el-button>
|
||||
<el-button @click="newStuCheckInDialog = false">取消</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {getDataByRoomNo} from "/@/api/stuwork/dormroom";
|
||||
import {fearchRoomStuNum} from "/@/api/stuwork/dormroomstudent";
|
||||
import {getDictByType} from "/@/api/contract/contract";
|
||||
|
||||
import {putObj} from '@/api/recruit/newstucheckin'
|
||||
|
||||
export default {
|
||||
name: "stu-check-in",
|
||||
data() {
|
||||
return {
|
||||
page:{},
|
||||
newStuCheckInDialog:false,
|
||||
bedNoData:[],
|
||||
roomNoList:[],
|
||||
checkInStatusData:[],
|
||||
loading:false,
|
||||
isRoomTab:false,
|
||||
yesOrNoData:[{label:'否', value:'0'},{label:'是', value:'1'}],
|
||||
genderData:[{label:'女', value:'2'},{label:'男', value:'1'}],
|
||||
submitLoading:false,
|
||||
form:{
|
||||
name:"",
|
||||
checkInStatus:"",
|
||||
gender:"",
|
||||
idNumber:"",
|
||||
isRoom:"",
|
||||
roomNo:"",
|
||||
bedNo:"",
|
||||
remarks:"",
|
||||
residenceDetail:"",
|
||||
parentName:"",
|
||||
parentTelOne:"",
|
||||
parentTelTwo:""
|
||||
},
|
||||
rules: {
|
||||
name: [
|
||||
{ required: true, message: '请输入姓名', trigger: [ "blur","change"] }
|
||||
],
|
||||
gender: [
|
||||
{ required: true, message: '请输入性别', trigger: [ "blur","change"] }
|
||||
],
|
||||
idNumber: [
|
||||
{ required: true, message: '请输入身份证号', trigger: [ "blur","change"] }
|
||||
],
|
||||
checkInStatus: [
|
||||
{ required: true, message: '请输入报到状态', trigger: [ "blur","change"] }
|
||||
],
|
||||
isRoom: [
|
||||
{ required: true, message: '请选择是否住宿', trigger: [ "blur","change"] }
|
||||
],
|
||||
roomNo: [
|
||||
{ required: true, message: '请选择宿舍号', trigger: [ "blur","change"] }
|
||||
],
|
||||
bedNo: [
|
||||
{ required: true, message: '请选择床位号', trigger: [ "blur","change"] }
|
||||
],
|
||||
}
|
||||
}
|
||||
},
|
||||
watch:{
|
||||
'form.checkInStatus':{
|
||||
handler(newVal){
|
||||
if(newVal==='1'){
|
||||
this.isRoomTab = true
|
||||
}else {
|
||||
this.isRoomTab = false
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
'form.roomNo':{
|
||||
handler(newVal){
|
||||
console.log(newVal)
|
||||
if (newVal){
|
||||
this.fearchRoomStuNums(newVal)
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
'form.isRoom':{
|
||||
handler(newVal){
|
||||
if (newVal === '0'){
|
||||
this.form.roomNo = ''
|
||||
this.form.bedNo = ''
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
methods:{
|
||||
initForm(){
|
||||
this.form.name = ""
|
||||
this.form.checkInStatus = ""
|
||||
this.form.gender = ""
|
||||
this.form.idNumber = ""
|
||||
this.form.isRoom = ""
|
||||
this.form.roomNo = ""
|
||||
this.form.bedNo = ""
|
||||
this.form.remarks = ""
|
||||
this.form.residenceDetail="";
|
||||
this.form.parentName="";
|
||||
this.form.parentTelOne="";
|
||||
this.form.parentTelTwo="";
|
||||
},
|
||||
init(formData,page){
|
||||
this.initForm();
|
||||
this.page = page
|
||||
this.submitLoading = false
|
||||
this.newStuCheckInDialog = true
|
||||
|
||||
Object.assign(this.form,formData)
|
||||
if(formData.roomNo){
|
||||
this.remoteMethod(formData.roomNo);
|
||||
this.fearchRoomStuNums(formData.bedNo);
|
||||
}
|
||||
getDictByType('check_in_status').then(data=>{
|
||||
this.checkInStatusData = data.data.data
|
||||
})
|
||||
console.log("OKKK")
|
||||
},
|
||||
checkIn(form) {
|
||||
let _that = this
|
||||
_that.submitLoading = true;
|
||||
_that.$refs[form].validate((valid) => {
|
||||
if (valid) {
|
||||
// console.log("form",this.form)
|
||||
// _that.formLoading = true
|
||||
putObj(this.form).then(data => {
|
||||
this.$message({
|
||||
showClose: true,
|
||||
message: '报到成功',
|
||||
type: 'success'
|
||||
})
|
||||
_that.$emit("reload",this.page);
|
||||
_that.newStuCheckInDialog = false
|
||||
_that.submitLoading = false
|
||||
})
|
||||
// _that.formLoading = false
|
||||
}else {
|
||||
return false
|
||||
}
|
||||
})
|
||||
},
|
||||
//实时检索宿舍号
|
||||
remoteMethod(query) {
|
||||
if (query != '' && query.length>=3) {
|
||||
let data = {'roomNo':query}
|
||||
this.loading = true
|
||||
let _this = this
|
||||
getDataByRoomNo(data).then(data=>{
|
||||
_this.roomNoList = data.data.data;
|
||||
console.log("this.roomNoList")
|
||||
console.log(_this.roomNoList)
|
||||
_this.loading = false
|
||||
|
||||
|
||||
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//查询此房间为几人间
|
||||
fearchRoomStuNums(roomNo){
|
||||
var data = {"roomNo":roomNo}
|
||||
fearchRoomStuNum(data).then(data =>{
|
||||
this.bedNoData = data.data.data;
|
||||
})
|
||||
},
|
||||
isRoomDisable(notBedNo){
|
||||
if(undefined != notBedNo && "" != notBedNo){
|
||||
return true
|
||||
}else {
|
||||
return false
|
||||
}
|
||||
},
|
||||
change(){
|
||||
this.form.bedNo='';
|
||||
this.$forceUpdate()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
Reference in New Issue
Block a user