Commit d00862de authored by 罗超's avatar 罗超

2

parent b93a401f
......@@ -344,4 +344,15 @@ export function delHolidayPlan(data) {
method: 'post',
data: data
})
}
/**
* 获取日期范围 所有排课计划列表
* @param {JSON参数} data
*/
export function getToDayCoursePlanList(data) {
return request({
url: '/TeacherClass/GetToDayCoursePlanList',
method: 'post',
data: data
})
}
\ No newline at end of file
......@@ -39,6 +39,12 @@
{{props.row.CreateTimeStr}}
</q-td>
</template>
<template v-slot:body-cell-Type="props">
<q-td :props="props">
<span v-if="props.row.ReserveType==0">正常试听</span>
<span v-if="props.row.ReserveType==1">跟班试听</span>
</q-td>
</template>
<template v-slot:body-cell-JoinNum="props">
<q-td auto-width :props="props">
<span style="color:red;cursor:pointer"
......@@ -72,7 +78,7 @@
<q-item-label>收支明细</q-item-label>
</q-item-section>
</q-item>
<q-item clickable v-close-popup @click="editVisitor(props.row)">
<q-item clickable v-close-popup @click="editVisitor(props.row)" v-if="props.row.ReserveType==0">
<q-item-section>
<q-item-label>修改</q-item-label>
</q-item-section>
......@@ -176,6 +182,12 @@
align: 'left',
field: 'ClassContent',
},
{
name: 'Type',
label: '类型',
align: 'left',
field: 'Type',
},
{
name: 'CreateByName',
label: '创建人',
......
<style scoped>
.Student_Date .el-input__inner {
background: transparent !important;
border: 0 !important;
padding-right: 0 !important;
}
.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"
/>
<q-btn label="选择试听课" color="accent q-mb-lg" size="sm" @click="isShowTeacher = true" />
</div>
<template v-if="isShowReserve">
<div class="row studentDate">
<q-field filled class="col-6 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="预约日期"
value-format="yyyy-MM-dd"
>
<el-date-picker v-model="addMsg.ClassDate" ref="ClassDate" :rules="[val => !!val || '请选择预约日期']"
style="width:225px" size="mini" type="date" placeholder="预约日期" value-format="yyyy-MM-dd">
</el-date-picker>
</template>
</q-field>
<div class="col-6 q-pr-lg Student_Date ">
<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="{
<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="预约开始时间"
>
}" placeholder="预约开始时间">
</el-time-select>
<el-time-select
v-model="addMsg.EndTime"
size="mini"
dense
ref="EndTime"
style="width:50%"
<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="预约结束时间"
>
}" 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
/>
<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
/>
<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">
<q-field label="类型" filled dense stack-label class="col-6 q-pb-lg q-pr-lg" v-if="addMsg.ReserveType==1">
<template v-slot:control>
<div >跟班</div>
</template>
</q-field>
<!-- <q-field label="班级" filled dense stack-label class="col-6 q-pb-lg q-pr-lg" v-if="addMsg.ReserveType==1&&showObj.className">
<template v-slot:control>
<div>{{showObj.className}}</div>
</template>
</q-field> -->
<q-field label="课程" filled dense stack-label class="col-6 q-pb-lg q-pr-lg" v-if="addMsg.ReserveType==1&&showObj.courseName">
<template v-slot:control>
<div>{{showObj.courseName}}</div>
</template>
</q-field>
</div>
<div class="row wrap justify-end q-pr-lg" style="margin-bottom:10px;">
<q-btn
label="关闭"
flat
color="accent q-mb-lg"
size="md"
style="margin-right:10px;"
@click="closeClassForm"
/>
<q-btn
label="保存"
color="accent q-mb-lg"
size="md"
@click="saveAppointForm()"
/>
<q-btn label="关闭" flat color="accent q-mb-lg" size="md" style="margin-right:10px;" @click="closeClassForm" />
<q-btn label="保存" color="accent q-mb-lg" size="md" @click="saveAppointForm()" />
</div>
</template>
<audition-form
v-if="isShowTeacher"
@close="closeAuditForm"
@getchildInfo="getchildInfo"
></audition-form>
<ShitingCourseList-form v-if="isShowTeacher" @close="closeAuditForm" @getchildInfo="getchildInfo">
</ShitingCourseList-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 {
isShowReserve:false,
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: {
//关闭窗口
closeClassForm() {
this.isShowReserve = false;
this.$emit("success");
},
//选择主讲内容赋值选择教师
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;
import {
SetVisitorReserve
} from "../../../api/scheduling/schedu";
import {
getTeacherDropDownList,
queryClassRoomList,
GetTrialLessonList
} from "../../../api/school/index";
// import auditionForm from "../../schedul/audition-form";
import ShitingCourseListForm from "./shitingCourseList-form.vue"
export default {
components: {
// auditionForm,
ShitingCourseListForm
},
//试听课程列表
GetTrialDrop() {
GetTrialLessonList({}).then(res => {
if (res.Code == 1) {
this.TrialList = res.Data;
}
});
props: {
saveObj: {
type: Object,
default: null
}
},
//获取教室下拉
getClassRoomList() {
queryClassRoomList({}).then(res => {
if (res.Code == 1) {
this.ClassRoomList = res.Data;
var obj = {
RoomName: "请选择",
RoomId: 0
};
this.ClassRoomList.unshift(obj);
data() {
return {
isShowReserve: false,
addMsg: {
Id: 0, //编号
Visitor_Id: 0, //访客编号
ReserveClassId: 0, //选中的班级编号
ClassDate: "", //预约日期
ClassTime: "", //预约开始时间
EndTime: "", //预约结束时间
TeacherId: 0, //教师编号
ClassRoomId: 0, //教室编号
ClassContent: "", //主讲内容
TrialLessonId: "",
ReserveType: 0,
ClassPlanId: 0,
},
ContentList: [{
Id: 1,
Name: "少儿类:主要以丰富可与时间和兴趣为主,要求课堂轻松活跃。趣味性十足"
},
{
Id: 2,
Name: "兴趣类:成年人,对日语学习从兴趣开始,要求课堂丰富有趣"
},
{
Id: 3,
Name: "实用类:对于日语学习有一定的需求(考研、就业等),要求学习过程专业,干货多"
},
{
Id: 4,
Name: "留学类:打算去往日本留学(本科、硕士、语言学校、私塾等)"
}
],
ClassRoomList: [], //教师列表
TeacherList: [], //教师列表
AllTeacherList: [], //全部教师列表
TrialList: [], //试听课程列表
isShowTeacher: false, //是否显示试听课弹窗
showObj:{
className:"",
courseName:"",
}
});
};
},
//获取教师下拉
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);
}
});
created() {
this.GetTrialDrop();
this.getClassRoomList();
this.GetTeacherList();
},
//清除
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 = "";
mounted() {
if (this.saveObj) {
this.addMsg.Visitor_Id = this.saveObj.StuId;
}
},
//保存
saveAppointForm() {
if (this.addMsg.ClassDate == "") {
this.$q.notify({
type: "negative",
position: "top",
timeout: 2000,
message: "请选择预约日期!"
methods: {
//关闭窗口
closeClassForm() {
this.isShowReserve = false;
this.$emit("success");
},
//选择主讲内容赋值选择教师
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);
}
}
}
});
});
return;
}
if (this.addMsg.ClassTime == "") {
this.$q.notify({
type: "negative",
position: "top",
timeout: 2000,
message: "请选择预约开始时间!"
this.TeacherList = TList;
},
//试听课程列表
GetTrialDrop() {
GetTrialLessonList({}).then(res => {
if (res.Code == 1) {
this.TrialList = res.Data;
}
});
return;
}
if (this.addMsg.EndTime == "") {
this.$q.notify({
type: "negative",
position: "top",
timeout: 2000,
message: "请选择预约结束时间!"
},
//获取教室下拉
getClassRoomList() {
queryClassRoomList({}).then(res => {
if (res.Code == 1) {
this.ClassRoomList = res.Data;
var obj = {
RoomName: "请选择",
RoomId: 0
};
this.ClassRoomList.unshift(obj);
}
});
return;
}
if (!this.$refs.ClassContent.hasError) {
SetVisitorReserve(this.addMsg).then(res => {
},
//获取教师下拉
GetTeacherList() {
getTeacherDropDownList({}).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.TeacherList = JSON.parse(JSON.stringify(res.Data));
this.AllTeacherList = JSON.parse(JSON.stringify(res.Data));
var obj = {
TeacherName: "请选择",
TId: 0
};
this.TeacherList.unshift(obj);
this.AllTeacherList.unshift(obj);
}
this.clearMsg();
this.isShowReserve = false;
});
}
},
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;
this.isShowReserve = true;
},
//清除
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 = "";
this.addMsg.ReserveType = 0;
this.addMsg.ClassPlanId = 0;
},
//保存
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();
this.isShowReserve = false;
});
}
},
closeAuditForm() {
this.isShowTeacher = false;
},
//子组件选中传值
getchildInfo(obj) {
console.log(364, obj)
if (obj) {
this.addMsg.ReserveType = obj.ReserveType;
this.addMsg.ClassPlanId = obj.ClassPlanId;
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;
if (obj.ReserveType == 1) {
this.addMsg.TrialLessonId = obj.TrialLessonId ? obj.TrialLessonId : this.TrialList[0].Id
this.addMsg.ClassContent = obj.ClassContent ? obj.ClassContent : this.ContentList[0].Name
this.showObj.courseName=obj.courseName
this.showObj.className=obj.className
}
this.isShowReserve = true;
}
}
}
}
};
};
</script>
<template>
<q-dialog v-model="persistent" content-class="bg-grey-1" persistent transition-show="scale" transition-hide="scale">
<q-card style="width: 800px;max-width:900px;">
<q-card-section>
<div class="text-h6">试听课信息</div>
</q-card-section>
<q-card-section>
<div class="row wrap">
<div class="col-3 q-pr-lg q-pb-lg">
<q-select @input="typeChange" filled option-value="Id" option-label="Name" v-model="typeId"
:options="typeList" emit-value map-options label="类型" clearable />
</div>
<div class="col-6 q-pb-lg q-pr-lg">
<q-field borderless>
<template v-slot:prepend>
<q-input filled v-model="msg.StartClassDate" mask="date" label="开始日期">
<template v-slot:append>
<q-icon name="event" class="cursor-pointer">
<q-popup-proxy ref="StartClassDate" transition-show="scale" transition-hide="scale">
<q-date v-model="msg.StartClassDate" @input="getStarttime()" />
</q-popup-proxy>
</q-icon>
</template>
</q-input>
</template>
<template v-slot:append>
<q-input filled v-model="msg.EndClassDate" mask="date" label="结束日期">
<template v-slot:append>
<q-icon name="event" class="cursor-pointer">
<q-popup-proxy ref="EndClassDate" transition-show="scale" transition-hide="scale">
<q-date v-model="msg.EndClassDate" @input="getEndTime()" />
</q-popup-proxy>
</q-icon>
</template>
</q-input>
</template>
</q-field>
</div>
<div class="col-3 q-pr-lg q-pb-lg">
<q-select @input="typeChange" filled option-value="TId" option-label="TeacherName" v-model="msg.TeacherId"
:options="TeacherList" emit-value map-options label="老师" clearable />
</div>
</div>
</q-card-section>
<q-card-section class="q-pt-none scroll" style="max-height: 70vh">
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" style="margin-top:20px;" flat
class="sticky-column-table sticky-right-column-table" separator="none" :data="dataList" :columns="columns"
row-key="name" v-if="typeId == 0">
<template v-slot:top="props">
<div class="col-2 q-table__title"></div>
<q-space />
</template>
<template v-slot:body-cell-ClassTime="props">
<q-td :props="props">
{{ props.row.ClassTime }}-{{ props.row.EndTime }}
</q-td>
</template>
<template v-slot:body-cell-Id="props">
<q-td :props="props">
<q-btn flat size="xs" icon="edit" color="accent" @click="getStuInfo(props.row)" style="font-weight:400"
label="报入" />
</q-td>
</template>
<template v-slot:bottom>
<q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="PageCount"
:input="true" @input="changePage" />
</template>
</q-table>
<q-table :pagination="SubMsg" :loading="loading" no-data-label="暂无相关数据" style="margin-top:20px;" flat
class="sticky-column-table sticky-right-column-table" separator="none" :data="dataListType2"
:columns="columnsType2" row-key="name" v-if="typeId == 1">
<template v-slot:top="props">
<div class="col-2 q-table__title"></div>
<q-space />
</template>
<template v-slot:body-cell-Time="props">
<q-td :props="props">
{{ props.row.StartTime }}-{{ props.row.EndTime }}
</q-td>
</template>
<template v-slot:body-cell-RoomNum="props">
<q-td :props="props">
{{ props.row.GuestList.length }}
</q-td>
</template>
<template v-slot:body-cell-progress="props">
<q-td :props="props">
{{ props.row.Ranks }}/{{ props.row.TotalPlanNum }}
</q-td>
</template>
<template v-slot:body-cell-Id="props">
<q-td :props="props">
<q-btn flat size="xs" icon="edit" color="accent" @click="getStuInfo(props.row)" style="font-weight:400"
label="报入" />
</q-td>
</template>
<template v-slot:bottom>
<q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="PageCount"
:input="true" @input="changePage" />
</template>
</q-table>
</q-card-section>
<q-separator />
<q-card-actions align="right" class="bg-white">
<q-btn label="关闭" flat color="grey-10" style="font-weight:400 !important" @click="closeSaveForm" />
</q-card-actions>
</q-card>
</q-dialog>
</template>
<script>
import {
GetReserveClassPage,
getToDayCoursePlanList
} from "../../../api/scheduling/schedu";
import {
getTeacherDropDownList
} from "../../../api/school/index";
export default {
components: {},
data() {
return {
persistent: true,
loading: false,
msg: {
pageIndex: 1,
pageSize: 10,
rowsPerPage: 10,
StartClassDate: "", //开始时间
EndClassDate: "", //结束时间
TeacherId: "", //教师编号
ClassRoomId: "", //教室编号
ReserveType :1
},
PageCount: 0,
columns: [{
name: "TeacherName",
label: "老师",
field: "TeacherName",
align: "left"
},
{
name: "ClassDateStr",
field: "ClassDateStr",
label: "日期",
align: "left"
},
{
name: "ClassTime",
field: "ClassTime",
label: "时间",
align: "left"
},
{
name: "LessonName",
label: "课程名称",
field: "LessonName",
align: "left"
},
{
name: "RoomName",
label: "教室",
field: "RoomName",
align: "left"
},
{
name: "RoomNum",
label: "人数",
field: "RoomNum",
align: "left"
},
{
name: "ClassContent",
label: "主讲内容",
field: "ClassContent",
align: "left"
},
{
name: "Id",
label: "操作"
}
],
TeacherList: [], //教师列表
dataList: [],
StuObj: {},
typeId: 0,
typeList: [{
Name: "正常",
Id: 0
},
{
Name: "跟班",
Id: 1
}
],
SubMsg: {
pageIndex: 1,
pageSize: 10,
rowsPerPage: 10,
StartDate: "", //开始时间
EndDate: "", //结束时间
TeacherId: 0
},
dataListType2: [],
columnsType2: [{
name: "TeacherName",
label: "老师",
field: "TeacherName",
align: "left"
},
{
name: "ClassDate",
field: "ClassDate",
label: "日期",
align: "left"
},
{
name: "Time",
field: "Time",
label: "时间",
align: "left"
},
{
name: "CourseName",
label: "课程名称",
field: "CourseName",
align: "left"
},
{
name: "RoomName",
label: "教室",
field: "RoomName",
align: "left"
},
{
name: "RoomNum",
label: "人数",
field: "RoomNum",
align: "left"
},
{
name: "progress",
label: "进度",
field: "",
align: "left"
},
{
name: "Id",
label: "操作"
}
]
};
},
created() {
this.GetTeacherList();
},
mounted() {
let nowDay = new Date();
var year = nowDay.getFullYear(); //年
var month = nowDay.getMonth() + 1; //月
var day = nowDay.getDate(); //日
var currentDay =
year + "-" + (month < 10 ? "0" + month : month) + "-" + day;
this.msg.StartClassDate = currentDay;
this.getList();
},
methods: {
//获取教师下拉
GetTeacherList() {
getTeacherDropDownList({}).then(res => {
if (res.Code == 1) {
this.TeacherList = res.Data;
}
});
},
closeSaveForm() {
this.$emit("close");
this.persistent = false;
},
//重新查询
resetSearch() {
this.msg.pageIndex = 1;
this.getList();
},
changePage(val) {
this.msg.pageIndex = val;
this.getList();
},
//获取课程系列分页列表
getList() {
GetReserveClassPage(this.msg).then(res => {
if (res.Code == 1) {
this.dataList = res.Data.PageData;
this.PageCount = res.Data.PageCount;
}
});
},
//点击报入
getStuInfo(item) {
if (item) {
if (this.typeId == 0) {
this.StuObj.ReserveType=0
this.StuObj.ClassPlanId = item.ClassPlanId;
this.StuObj.ClassRoomId = item.ClassRoomId;
this.StuObj.TeacherId = item.TeacherId;
this.StuObj.ReserveClassId = item.ReserveClassId;
this.StuObj.ClassDateStr = item.ClassDateStr;
this.StuObj.ClassTime = item.ClassTime;
this.StuObj.EndTime = item.EndTime;
this.StuObj.ClassContent = item.ClassContent;
this.StuObj.TrialLessonId = item.TrialLessonId;
} else if (this.typeId == 1) {
this.StuObj.ReserveType=1
this.StuObj.ClassPlanId = item.ClassPlanId;
this.StuObj.ClassRoomId = item.ClassRoomId;
this.StuObj.TeacherId = item.TeacherId;
this.StuObj.ReserveClassId = 0;
this.StuObj.ClassDateStr = item.ClassDate;
this.StuObj.ClassTime = item.StartTime;
this.StuObj.EndTime = item.EndTime;
this.StuObj.ClassContent = 0;
this.StuObj.TrialLessonId = 0;
this.StuObj.courseName=item.CourseName
this.StuObj.className=item.ClassName
}
}
this.$emit("getchildInfo", this.StuObj);
this.closeSaveForm();
},
getStarttime() {
this.$refs.StartClassDate.hide();
this.typeChange();
},
getEndTime() {
this.$refs.EndClassDate.hide();
this.typeChange();
},
typeChange() {
if (this.typeId == 0) {
this.resetSearch();
} else if (this.typeId == 1) {
this.resetSearchType2();
}
},
getListType2() {
if(!this.msg.StartClassDate){
this.$q.notify({
type: 'negative',
position: "top",
message: `请选择日期`
})
return
}
this.SubMsg.StartDate = this.msg.StartClassDate;
this.SubMsg.EndDate = this.msg.EndClassDate || this.msg.StartClassDate;
this.SubMsg.TeacherId = this.msg.TeacherId || 0;
getToDayCoursePlanList(this.SubMsg).then(res => {
this.dataListType2 = res.Data;
});
},
resetSearchType2() {
this.SubMsg.pageIndex = 1;
this.getListType2();
}
}
};
</script>
<style></style>
......@@ -18,15 +18,9 @@
@click="isShowAdd = false"
/>
</div> -->
<reserveclass-form
:saveObj="saveObj"
@close="closeReserveForm"
@success="closeReserveForm"
v-if="!saveObj.IsHaveCurseManager || userInfo.IsCourseConsultant == 1"
></reserveclass-form>
<span v-else class="text-grey-4 q-mb-md"
>学员已推送课程顾问,只能进行查看</span
>
<reserveclass-form :saveObj="saveObj" @close="closeReserveForm" @success="closeReserveForm"
v-if="!saveObj.IsHaveCurseManager || userInfo.IsCourseConsultant == 1"></reserveclass-form>
<span v-else class="text-grey-4 q-mb-md">学员已推送课程顾问,只能进行查看</span>
<div style="display:flex;flex:1;flex-direction: column;overflow:hidden;">
<div class="TimeLineDiv">
<q-timeline color="primary">
......@@ -34,10 +28,14 @@
<template v-slot:title>
<div class="visit_Cont">
<div class="Log_Content">
<q-chip color="primary" size="xs" text-color="white" style="position:absolute;:top:0;right:0" v-if="tItem.ReserveType==1">
跟班
</q-chip>
<div>
预约时间:{{ tItem.ClassDateStr }} {{ tItem.ClassTime }}-{{
tItem.EndTime
}}
</div>
<div class="StuCom_Remark">
<div style="flex-shrink:0">主讲内容:</div>
......@@ -49,11 +47,8 @@
<span class="StuCom_Left">教室</span>{{ tItem.RoomName }}
</div>
</div>
<div
@click="DeleteVisitorReserve(tItem.Id)"
style="margin-top:10px;"
class="visit_delete text-negative"
>
<div @click="DeleteVisitorReserve(tItem.Id)" style="margin-top:10px;"
class="visit_delete text-negative">
删除
</div>
</div>
......@@ -69,110 +64,105 @@
</div>
</div>
<div style="margin:20px 0;">
<q-pagination
class="full-width justify-end"
v-model="qMsg.pageIndex"
color="primary"
:max="page_Count"
input
@input="changePage"
/>
<q-pagination class="full-width justify-end" v-model="qMsg.pageIndex" color="primary" :max="page_Count" input
@input="changePage" />
</div>
</div>
</template>
<script>
import {
SetVisitorReserve,
queryVisitorReservePage,
RemoveVisitorReserve
} from "../../../api/scheduling/schedu";
import {
SetVisitorReserve,
queryVisitorReservePage,
RemoveVisitorReserve
} from "../../../api/scheduling/schedu";
import {
getTeacherDropDownList,
queryClassRoomList,
GetTrialLessonList
} from "../../../api/school/index";
import reserveclassForm from "./reserveclass-form";
export default {
meta: {
title: ""
},
components: {
reserveclassForm
},
props: {
saveObj: {
type: Object,
default: null
}
},
data() {
return {
isShowAdd: false,
qMsg: {
pageIndex: 1,
pageSize: 12,
Visitor_Id: 0
},
dataList: [],
page_Count: 0,
userInfo: {}
};
},
created() {
if (this.saveObj) {
this.qMsg.Visitor_Id = this.saveObj.StuId;
this.userInfo = this.getLocalStorage();
}
},
mounted() {
this.getList();
},
methods: {
//获取试听列表
getList() {
queryVisitorReservePage(this.qMsg).then(res => {
if (res.Code == 1) {
this.dataList = res.Data.PageData;
this.page_Count = res.Data.PageCount;
}
});
import {
getTeacherDropDownList,
queryClassRoomList,
GetTrialLessonList
} from "../../../api/school/index";
import reserveclassForm from "./reserveclass-form";
export default {
meta: {
title: ""
},
changePage(val) {
this.qMsg.pageIndex = val;
this.getList();
components: {
reserveclassForm
},
//删除试听
DeleteVisitorReserve(Id) {
let that = this;
this.$q
.dialog({
title: "提示信息",
message: "是否确定此试听信息删除?",
cancel: true,
persistent: true,
ok: "确定",
cancel: "取消"
})
.onOk(() => {
RemoveVisitorReserve({
Id: Id
}).then(res => {
that.$q.notify({
icon: "iconfont icon-chenggong",
timeout: 2000,
message: res.Message,
position: "top"
});
that.getList();
});
})
.onCancel(() => {});
props: {
saveObj: {
type: Object,
default: null
}
},
data() {
return {
isShowAdd: false,
qMsg: {
pageIndex: 1,
pageSize: 12,
Visitor_Id: 0
},
dataList: [],
page_Count: 0,
userInfo: {}
};
},
closeReserveForm() {
this.isShowAdd = false;
created() {
if (this.saveObj) {
this.qMsg.Visitor_Id = this.saveObj.StuId;
this.userInfo = this.getLocalStorage();
}
},
mounted() {
this.getList();
},
methods: {
//获取试听列表
getList() {
queryVisitorReservePage(this.qMsg).then(res => {
if (res.Code == 1) {
this.dataList = res.Data.PageData;
this.page_Count = res.Data.PageCount;
}
});
},
changePage(val) {
this.qMsg.pageIndex = val;
this.getList();
},
//删除试听
DeleteVisitorReserve(Id) {
let that = this;
this.$q
.dialog({
title: "提示信息",
message: "是否确定此试听信息删除?",
cancel: true,
persistent: true,
ok: "确定",
cancel: "取消"
})
.onOk(() => {
RemoveVisitorReserve({
Id: Id
}).then(res => {
that.$q.notify({
icon: "iconfont icon-chenggong",
timeout: 2000,
message: res.Message,
position: "top"
});
that.getList();
});
})
.onCancel(() => {});
},
closeReserveForm() {
this.isShowAdd = false;
this.getList();
}
}
}
};
};
</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