Commit 0578bdad authored by zhengke's avatar zhengke

1

parent d11eef59
<style>
.Sysuser_Date .el-input__inner {
background: transparent !important;
border: 0 !important;
}
</style>
<template>
<div>
试听
<div>
<div class="row wrap">
<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>
\ No newline at end of file
<template v-if="isShowAdd">
<div class="row wrap">
<q-input filled v-model="addMsg.ClassDate" ref="ClassDate" class="col-6 q-pb-lg q-pr-lg" mask="date" label="预约日期">
<template v-slot:append>
<q-icon name="event" class="cursor-pointer">
<q-popup-proxy ref="qDateProxy1" transition-show="scale" transition-hide="scale">
<q-date v-model="addMsg.ClassDate" @input="() => $refs.qDateProxy1.hide()" />
</q-popup-proxy>
</q-icon>
</template>
</q-input>
<div class="Sysuser_Date col-6">
<q-field filled class="q-pb-lg">
  <template v-slot:control>
<el-time-select v-model="addMsg.ClassTime" 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" 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" option-label="Name"
@input="getTeacherChoose(addMsg.ClassContent)" v-model="addMsg.ClassContent" ref="ClassContent"
:options="ContentList" :rules="[val => !!val || '请选择主讲内容']" label="主讲内容" :dense="false" 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="false" class="col-6 q-pb-lg" emit-value
map-options />
</div>
<div class="row wrap">
<q-select filled stack-label option-value="RoomId" option-label="RoomName" v-model="addMsg.ClassRoomId"
ref="ClassRoomId" :options="ClassRoomList" label="关联教室" :dense="false" class="col-6 q-pb-lg q-pr-lg" emit-value
map-options />
</div>
<div class="row wrap" style="margin-bottom:10px;">
<q-btn label="新增" color="accent q-mb-lg" size="md" @click="saveAppointForm()" />
</div>
</template>
<!-- <div style="display:flex;flex:1;flex-direction: column;overflow:hidden;">
<div class="TimeLineDiv">
<q-timeline color="primary">
<q-timeline-entry v-for="(tItem,tIndex) in dataList" :key="tIndex">
<template v-slot:title>
<div class="visit_Cont">
<div v-html="tItem.Remark"></div>
<div @click="delFollow(tItem.Id)" class="visit_delete">删除</div>
</div>
</template>
<template v-slot:subtitle>
<div class="Time_TopList">
<div>{{ tItem.CreateTime }}</div>
</div>
</template>
</q-timeline-entry>
</q-timeline>
</div>
</div>
<div style="margin:20px 0;">
<q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="page_Count" input
@input="changePage" />
</div> -->
<audition-form v-if="isShowTeacher" @close="closeAuditForm" @getchildInfo="getchildInfo"></audition-form>
</div>
</template>
<script>
import {
SetVisitorReserve
} from "../../../api/scheduling/schedu";
import {
getTeacherDropDownList,
queryClassRoomList
} from "../../../api/school/index";
import auditionForm from '../../schedul/audition-form'
export default {
meta: {
title: ""
},
components: {
auditionForm
},
props: {
saveObj: {
type: Object,
default: null
}
},
data() {
return {
isShowAdd: false,
addMsg: {
Id: 0, //编号
Visitor_Id: 0, //访客编号
ReserveClassId: 0, //选中的班级编号
ClassDate: "", //预约日期
ClassTime: "", //预约开始时间
EndTime: "", //预约结束时间
TeacherId: 0, //教师编号
ClassRoomId: 0, //教室编号
ClassContent: "", //主讲内容
},
ContentList: [{
Id: 1,
Name: '少儿类:主要以丰富可与时间和兴趣为主,要求课堂轻松活跃。趣味性十足'
}, {
Id: 2,
Name: '兴趣类:成年人,对日语学习从兴趣开始,要求课堂丰富有趣'
}, {
Id: 3,
Name: '实用类:对于日语学习有一定的需求(考研、就业等),要求学习过程专业,干货多'
}, {
Id: 4,
Name: '留学类:打算去往日本留学(本科、硕士、语言学校、私塾等)'
}],
TeacherList: [],
AllTeacherList: [],
ClassRoomList: [],
dataList: [],
page_Count: 0,
isShowTeacher: false
}
},
mounted() {
this.getClassRoomList();
this.GetTeacherList();
// this.getList();
},
methods: {
//保存
saveAppointForm() {
if (this.saveObj) {
this.addMsg.Visitor_Id = this.saveObj.StuId;
}
this.$refs.ClassDate.validate();
this.$refs.ClassContent.validate();
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.ClassDate.hasError && !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.isShowAdd = false;
this.clearMsg();
})
}
},
//获取试听列表
getList() {
queryStudentFollowPage(this.msg).then(res => {
if (res.Code == 1) {
this.dataList = res.Data.PageData;
this.page_Count = res.Data.PageCount;
}
}).catch(() => {
})
},
//清除
clearMsg() {
this.addMsg.Id = 0;
this.addMsg.Visitor_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.msg.pageIndex = val;
this.getList();
},
//删除试听
delFollow(Id) {
let that = this
this.$q.dialog({
title: '提示信息',
message: '是否确定删除?',
cancel: true,
persistent: true,
ok: "确定",
cancel: "取消",
}).onOk(() => {
deleteStudentFollow({
Id: Id
}).then((res) => {
that.$q.notify({
icon: 'iconfont icon-chenggong',
timeout: 2000,
message: res.Message,
position: 'top'
})
that.getList()
})
}).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;
}
},
},
}
</script>
......@@ -427,4 +427,12 @@
border-radius: 4px;
background: #EDEDED;
}
.Log_Content{
padding: 10px;
border-radius: 5px;
background-color: #f4f4f6;
color: #818194;
line-height: 2;
margin-top:10px;
}
</style>
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