Commit 44f2c210 authored by 黄奎's avatar 黄奎

页面修改

parent 0e1aaa13
......@@ -191,6 +191,7 @@
},
//点击报入
getStuInfo(item) {
console.log("item",item);
if (item) {
this.StuObj.ClassRoomId = item.ClassRoomId;
this.StuObj.TeacherId = item.TeacherId;
......@@ -199,6 +200,7 @@
this.StuObj.ClassTime = item.ClassTime;
this.StuObj.EndTime = item.EndTime;
this.StuObj.ClassContent = item.ClassContent;
this.StuObj.TrialLessonId=item.TrialLessonId;
}
this.$emit('getchildInfo', this.StuObj);
this.closeSaveForm();
......
<style scoped>
.Student_Date .el-input__inner {
background: transparent !important;
border: 0 !important;
padding-right: 0 !important;
}
</style>
<template>
<div>
<div class="row wrap">
<q-btn label="选择试听课" color="accent q-mb-lg" size="sm" @click="isShowTeacher=true" />
</div>
<div class="row studentDate">
<q-field filled class="q-pb-lg q-pr-lg" dense>
 <template v-slot:control>
<el-date-picker v-model="addMsg.ClassDate" ref="ClassDate" :rules="[val => !!val || '请选择预约日期']"
style="width:225px" size="mini" type="date" placeholder="预约日期">
</el-date-picker>
</template>
</q-field>
<div class="Student_Date col-6 q-pr-lg">
<q-field filled class="q-pb-lg" dense>
 <template v-slot:control>
<el-time-select v-model="addMsg.ClassTime" size="mini" ref="ClassTime" style="width:50%" :picker-options="{
start: '09:00',
step: '00:15',
end: '21:00',
maxTime:addMsg.EndTime
}" placeholder="预约开始时间">
</el-time-select>
<el-time-select v-model="addMsg.EndTime" size="mini" dense ref="EndTime" style="width:50%" :picker-options="{
start: '09:00',
step: '00:15',
end: '21:00',
minTime:addMsg.ClassTime
}" placeholder="预约结束时间">
</el-time-select>  
</template>
</q-field>
</div>
</div>
<div class="row wrap">
<q-select filled stack-label option-value="Name" dense option-label="Name"
@input="getTeacherChoose(addMsg.ClassContent)" v-model="addMsg.ClassContent" ref="ClassContent"
:options="ContentList" :rules="[val => !!val || '请选择主讲内容']" label="主讲内容" class="col-6 q-pb-lg q-pr-lg"
emit-value map-options />
<q-select filled stack-label option-value="TId" option-label="TeacherName" v-model="addMsg.TeacherId"
ref="TeacherId" :options="TeacherList" label="选择教师" dense class="col-6 q-pb-lg q-pr-lg" emit-value
map-options />
</div>
<div class="row wrap">
<q-select filled stack-label option-value="RoomId" dense option-label="RoomName" v-model="addMsg.ClassRoomId"
ref="ClassRoomId" :options="ClassRoomList" label="关联教室" class="col-6 q-pb-lg q-pr-lg" emit-value map-options />
<q-select filled stack-label option-value="Id" dense option-label="LessonName" v-model="addMsg.TrialLessonId"
:options="TrialList" label="试听课程" class="col-6 q-pb-lg q-pr-lg" emit-value map-options />
</div>
<div class="row wrap justify-end q-pr-lg" style="margin-bottom:10px;">
<q-btn label="保存" color="accent q-mb-lg" size="md" @click="saveAppointForm()" />
</div>
<audition-form v-if="isShowTeacher" @close="closeAuditForm" @getchildInfo="getchildInfo"></audition-form>
</div>
</template>
<script>
import {
SetVisitorReserve,
} from "../../../api/scheduling/schedu";
import {
getTeacherDropDownList,
queryClassRoomList,
GetTrialLessonList
} from "../../../api/school/index";
import auditionForm from '../../schedul/audition-form'
export default {
components: {
auditionForm
},
props: {
saveObj: {
type: Object,
default: null
}
},
data() {
return {
addMsg: {
Id: 0, //编号
Visitor_Id: 0, //访客编号
ReserveClassId: 0, //选中的班级编号
ClassDate: "", //预约日期
ClassTime: "", //预约开始时间
EndTime: "", //预约结束时间
TeacherId: 0, //教师编号
ClassRoomId: 0, //教室编号
ClassContent: "", //主讲内容
TrialLessonId: ''
},
ContentList: [{
Id: 1,
Name: '少儿类:主要以丰富可与时间和兴趣为主,要求课堂轻松活跃。趣味性十足'
}, {
Id: 2,
Name: '兴趣类:成年人,对日语学习从兴趣开始,要求课堂丰富有趣'
}, {
Id: 3,
Name: '实用类:对于日语学习有一定的需求(考研、就业等),要求学习过程专业,干货多'
}, {
Id: 4,
Name: '留学类:打算去往日本留学(本科、硕士、语言学校、私塾等)'
}],
ClassRoomList: [], //教师列表
TeacherList: [], //教师列表
AllTeacherList: [], //全部教师列表
TrialList: [], //试听课程列表
isShowTeacher: false, //是否显示试听课弹窗
}
},
created() {
this.GetTrialDrop();
this.getClassRoomList();
this.GetTeacherList();
},
mounted() {
if (this.saveObj) {
this.addMsg.Visitor_Id = this.saveObj.StuId;
}
},
methods: {
//选择主讲内容赋值选择教师
getTeacherChoose(content) {
var TList = [];
this.addMsg.TeacherId = '';
this.TeacherList = this.AllTeacherList;
this.TeacherList.forEach(x => {
this.ContentList.forEach(y => {
if (y.Name == content) {
if (x.TId > 0) {
if (x.ChooseSpecialty.indexOf(y.Id) > -1) {
TList.push(x);
}
}
}
})
})
this.TeacherList = TList;
},
//试听课程列表
GetTrialDrop() {
GetTrialLessonList({}).then(res => {
if (res.Code == 1) {
this.TrialList = res.Data;
}
});
},
//获取教室下拉
getClassRoomList() {
queryClassRoomList({}).then(res => {
if (res.Code == 1) {
this.ClassRoomList = res.Data;
var obj = {
RoomName: '请选择',
RoomId: 0
}
this.ClassRoomList.unshift(obj);
}
})
},
//获取教师下拉
GetTeacherList() {
getTeacherDropDownList({}).then(res => {
if (res.Code == 1) {
this.TeacherList = res.Data;
this.AllTeacherList = res.Data;
var obj = {
TeacherName: '请选择',
TId: 0
}
this.TeacherList.unshift(obj);
this.AllTeacherList.unshift(obj);
}
});
},
//清除
clearMsg() {
this.addMsg.Id = 0;
this.addMsg.ReserveClassId = 0;
this.addMsg.ClassDate = '';
this.addMsg.ClassTime = '';
this.addMsg.EndTime = '';
this.addMsg.TeacherId = 0;
this.addMsg.ClassRoomId = 0;
this.addMsg.ClassContent = '';
this.addMsg.TrialLessonId = "";
},
//保存
saveAppointForm() {
if (this.addMsg.ClassDate == '') {
this.$q.notify({
type: 'negative',
position: "top",
timeout: 2000,
message: '请选择预约日期!',
})
return;
}
if (this.addMsg.ClassTime == '') {
this.$q.notify({
type: 'negative',
position: "top",
timeout: 2000,
message: '请选择预约开始时间!',
})
return;
}
if (this.addMsg.EndTime == '') {
this.$q.notify({
type: 'negative',
position: "top",
timeout: 2000,
message: '请选择预约结束时间!',
})
return;
}
if (!this.$refs.ClassContent.hasError) {
SetVisitorReserve(this.addMsg).then(res => {
if (res.Code == 1) {
this.$q.notify({
icon: 'iconfont icon-chenggong',
color: 'accent',
timeout: 2000,
message: res.Message,
position: 'top'
})
this.$emit("success");
} else {
this.$q.notify({
type: 'negative',
position: "top",
timeout: 2000,
message: res.Message,
})
}
this.clearMsg();
})
}
},
closeAuditForm() {
this.isShowTeacher = false;
},
//子组件选中传值
getchildInfo(obj) {
if (obj) {
this.addMsg.TeacherId = obj.TeacherId;
this.addMsg.ClassRoomId = obj.ClassRoomId;
this.addMsg.ReserveClassId = obj.ReserveClassId;
this.addMsg.ClassDate = obj.ClassDateStr;
this.addMsg.ClassTime = obj.ClassTime;
this.addMsg.EndTime = obj.EndTime;
this.addMsg.ClassContent = obj.ClassContent;
this.addMsg.TrialLessonId=obj.TrialLessonId;
}
},
}
}
</script>
\ No newline at end of file
......@@ -2,7 +2,7 @@
.Student_Date .el-input__inner {
background: transparent !important;
border: 0 !important;
padding-right:0 !important;
padding-right: 0 !important;
}
</style>
<template>
......@@ -11,59 +11,10 @@
<q-btn label="新增" color="accent q-mb-lg" size="sm" @click="isShowAdd=true" />
<q-btn label="取消" style="margin-left:20px;" v-if="isShowAdd" flat color="grey-10 q-mb-lg" size="sm"
@click="isShowAdd=false" />
<q-btn label="选择试听课" style="margin-left:50px;" color="accent q-mb-lg" size="sm" @click="isShowTeacher=true" />
</div>
<template v-if="isShowAdd">
<div class="row studentDate">
<q-field filled class="q-pb-lg q-pr-lg" dense>
 <template v-slot:control>
<el-date-picker v-model="addMsg.ClassDate" ref="ClassDate" :rules="[val => !!val || '请选择预约日期']"
style="width:225px" size="mini" type="date" placeholder="预约日期">
</el-date-picker>
</template>
</q-field>
<div class="Student_Date col-6 q-pr-lg">
<q-field filled class="q-pb-lg" dense>
 <template v-slot:control>
<el-time-select v-model="addMsg.ClassTime" size="mini" ref="ClassTime" style="width:50%" :picker-options="{
start: '09:00',
step: '00:15',
end: '21:00',
maxTime:addMsg.EndTime
}" placeholder="预约开始时间">
</el-time-select>
<el-time-select v-model="addMsg.EndTime" size="mini" dense ref="EndTime" style="width:50%" :picker-options="{
start: '09:00',
step: '00:15',
end: '21:00',
minTime:addMsg.ClassTime
}" placeholder="预约结束时间">
</el-time-select>  
</template>
</q-field>
</div>
</div>
<div class="row wrap">
<q-select filled stack-label option-value="Name" dense option-label="Name"
@input="getTeacherChoose(addMsg.ClassContent)" v-model="addMsg.ClassContent" ref="ClassContent"
:options="ContentList" :rules="[val => !!val || '请选择主讲内容']" label="主讲内容"
class="col-6 q-pb-lg q-pr-lg" emit-value map-options />
<q-select filled stack-label option-value="TId" option-label="TeacherName" v-model="addMsg.TeacherId"
ref="TeacherId" :options="TeacherList" label="选择教师" dense class="col-6 q-pb-lg q-pr-lg" emit-value
map-options />
</div>
<div class="row wrap">
<q-select filled stack-label option-value="RoomId" dense option-label="RoomName" v-model="addMsg.ClassRoomId"
ref="ClassRoomId" :options="ClassRoomList" label="关联教室" class="col-6 q-pb-lg q-pr-lg"
emit-value map-options />
<q-select filled stack-label option-value="Id" dense option-label="LessonName" v-model="addMsg.TrialLessonId"
:options="TrialList" label="试听课程" class="col-6 q-pb-lg q-pr-lg"
emit-value map-options />
</div>
<div class="row wrap justify-end q-pr-lg" style="margin-bottom:10px;">
<q-btn label="保存" color="accent q-mb-lg" size="md" @click="saveAppointForm()" />
</div>
<reserveclass-form :saveObj="saveObj" @close="closeReserveForm" @success="closeReserveForm"></reserveclass-form>
</template>
<div style="display:flex;flex:1;flex-direction: column;overflow:hidden;">
<div class="TimeLineDiv">
......@@ -72,18 +23,19 @@
<template v-slot:title>
<div class="visit_Cont">
<div class="Log_Content">
<div>预约时间:{{tItem.ClassDateStr}} {{tItem.ClassTime}}-{{tItem.EndTime}}</div>
<div class="StuCom_Remark">
<div style="flex-shrink:0">主讲内容:</div>
<div class="StuCom_Inner">{{tItem.ClassContent}}</div>
</div>
<div>主讲老师:{{tItem.TeacherName}}</div>
<div>课程名称:{{tItem.LessonName}}</div>
<div class="StuCom_Remark">
<span class="StuCom_Left">教室</span>{{tItem.RoomName}}
</div>
<div>预约时间:{{tItem.ClassDateStr}} {{tItem.ClassTime}}-{{tItem.EndTime}}</div>
<div class="StuCom_Remark">
<div style="flex-shrink:0">主讲内容:</div>
<div class="StuCom_Inner">{{tItem.ClassContent}}</div>
</div>
<div>主讲老师:{{tItem.TeacherName}}</div>
<div>课程名称:{{tItem.LessonName}}</div>
<div class="StuCom_Remark">
<span class="StuCom_Left">教室</span>{{tItem.RoomName}}
</div>
</div>
<div @click="DeleteVisitorReserve(tItem.Id)" style="margin-top:10px;" class="visit_delete text-negative">删除</div>
<div @click="DeleteVisitorReserve(tItem.Id)" style="margin-top:10px;"
class="visit_delete text-negative">删除</div>
</div>
</template>
<template v-slot:subtitle>
......@@ -100,7 +52,7 @@
<q-pagination class="full-width justify-end" v-model="qMsg.pageIndex" color="primary" :max="page_Count" input
@input="changePage" />
</div>
<audition-form v-if="isShowTeacher" @close="closeAuditForm" @getchildInfo="getchildInfo"></audition-form>
</div>
</template>
<script>
......@@ -115,14 +67,13 @@
queryClassRoomList,
GetTrialLessonList
} from "../../../api/school/index";
import auditionForm from '../../schedul/audition-form'
import reserveclassForm from './reserveclass-form'
export default {
meta: {
title: ""
},
components: {
auditionForm
reserveclassForm
},
props: {
saveObj: {
......@@ -133,51 +84,17 @@
data() {
return {
isShowAdd: false,
addMsg: {
Id: 0, //编号
Visitor_Id: 0, //访客编号
ReserveClassId: 0, //选中的班级编号
ClassDate: "", //预约日期
ClassTime: "", //预约开始时间
EndTime: "", //预约结束时间
TeacherId: 0, //教师编号
ClassRoomId: 0, //教室编号
ClassContent: "", //主讲内容
TrialLessonId:''
},
qMsg: {
pageIndex: 1,
pageSize: 12,
Visitor_Id: 0,
},
ContentList: [{
Id: 1,
Name: '少儿类:主要以丰富可与时间和兴趣为主,要求课堂轻松活跃。趣味性十足'
}, {
Id: 2,
Name: '兴趣类:成年人,对日语学习从兴趣开始,要求课堂丰富有趣'
}, {
Id: 3,
Name: '实用类:对于日语学习有一定的需求(考研、就业等),要求学习过程专业,干货多'
}, {
Id: 4,
Name: '留学类:打算去往日本留学(本科、硕士、语言学校、私塾等)'
}],
TeacherList: [],
AllTeacherList: [],
ClassRoomList: [],
dataList: [],
page_Count: 0,
isShowTeacher: false,
TrialList:[] //试听课程下拉数据
}
},
created() {
this.getClassRoomList();
this.GetTeacherList();
this.GetTrialDrop();
if (this.saveObj) {
this.addMsg.Visitor_Id = this.saveObj.StuId;
this.qMsg.Visitor_Id = this.saveObj.StuId;
}
},
......@@ -185,66 +102,6 @@
this.getList();
},
methods: {
GetTrialDrop(){
GetTrialLessonList({}).then(res => {
if (res.Code == 1) {
this.TrialList = res.Data;
}
});
},
//保存
saveAppointForm() {
if(this.addMsg.ClassDate==''){
this.$q.notify({
type: 'negative',
position: "top",
timeout: 2000,
message: '请选择预约日期!',
})
return;
}
if (this.addMsg.ClassTime == '') {
this.$q.notify({
type: 'negative',
position: "top",
timeout: 2000,
message: '请选择预约开始时间!',
})
return;
}
if (this.addMsg.EndTime == '') {
this.$q.notify({
type: 'negative',
position: "top",
timeout: 2000,
message: '请选择预约结束时间!',
})
return;
}
if (!this.$refs.ClassContent.hasError) {
SetVisitorReserve(this.addMsg).then(res => {
if (res.Code == 1) {
this.$q.notify({
icon: 'iconfont icon-chenggong',
color: 'accent',
timeout: 2000,
message: res.Message,
position: 'top'
})
this.getList();
} else {
this.$q.notify({
type: 'negative',
position: "top",
timeout: 2000,
message: res.Message,
})
}
this.isShowAdd = false;
this.clearMsg();
})
}
},
//获取试听列表
getList() {
queryVisitorReservePage(this.qMsg).then(res => {
......@@ -254,17 +111,6 @@
}
})
},
//清除
clearMsg() {
this.addMsg.Id = 0;
this.addMsg.ReserveClassId = 0;
this.addMsg.ClassDate = '';
this.addMsg.ClassTime = '';
this.addMsg.EndTime = '';
this.addMsg.TeacherId = 0;
this.addMsg.ClassRoomId = 0;
this.addMsg.ClassContent = '';
},
changePage(val) {
this.qMsg.pageIndex = val;
this.getList();
......@@ -293,67 +139,9 @@
})
}).onCancel(() => {});
},
//选择主讲内容赋值选择教师
getTeacherChoose(content) {
var TList = [];
this.addMsg.TeacherId = '';
this.TeacherList = this.AllTeacherList;
this.TeacherList.forEach(x => {
this.ContentList.forEach(y => {
if (y.Name == content) {
if (x.TId > 0) {
if (x.ChooseSpecialty.indexOf(y.Id) > -1) {
TList.push(x);
}
}
}
})
})
this.TeacherList = TList;
},
//获取教室下拉
getClassRoomList() {
queryClassRoomList({}).then(res => {
if (res.Code == 1) {
this.ClassRoomList = res.Data;
var obj = {
RoomName: '请选择',
RoomId: 0
}
this.ClassRoomList.unshift(obj);
}
})
},
//获取教师下拉
GetTeacherList() {
getTeacherDropDownList({}).then(res => {
if (res.Code == 1) {
this.TeacherList = res.Data;
this.AllTeacherList = res.Data;
var obj = {
TeacherName: '请选择',
TId: 0
}
this.TeacherList.unshift(obj);
this.AllTeacherList.unshift(obj);
}
});
},
closeAuditForm() {
this.isShowTeacher = false;
},
//子组件选中传值
getchildInfo(obj) {
if (obj) {
this.addMsg.TeacherId = obj.TeacherId;
this.addMsg.ClassRoomId = obj.ClassRoomId;
this.addMsg.ReserveClassId = obj.ReserveClassId;
this.addMsg.ClassDate = obj.ClassDateStr;
this.addMsg.ClassTime = obj.ClassTime;
this.addMsg.EndTime = obj.EndTime;
this.addMsg.ClassContent = obj.ClassContent;
this.isShowAdd = true;
}
closeReserveForm() {
this.isShowAdd = false;
this.getList();
},
},
}
......
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