Commit 9fc39bb7 authored by 吴春's avatar 吴春

1

parent 9da5fd6c
This diff is collapsed.
......@@ -9,7 +9,7 @@
<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="isShowReserve = true" />
</div>
<template v-if="isShowReserve">
<div class="row studentDate">
......@@ -20,68 +20,25 @@
</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="{
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">
<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 studentDate" >
<q-input
style="width:257px;"
v-model="addMsg.Demand"
placeholder="试听需求"
filled
type="textarea"
/>
</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()" />
</div>
</template>
<ShitingCourseList-form v-if="isShowTeacher" @close="closeAuditForm" @getchildInfo="getchildInfo">
</ShitingCourseList-form>
</div>
</template>
......@@ -95,11 +52,11 @@
GetTrialLessonList
} from "../../../api/school/index";
// import auditionForm from "../../schedul/audition-form";
import ShitingCourseListForm from "./shitingCourseList-form.vue"
export default {
components: {
// auditionForm,
ShitingCourseListForm
},
props: {
saveObj: {
......@@ -123,6 +80,7 @@
TrialLessonId: "",
ReserveType: 0,
ClassPlanId: 0,
Demand:"",
},
ContentList: [{
Id: 1,
......@@ -153,9 +111,7 @@
};
},
created() {
this.GetTrialDrop();
this.getClassRoomList();
this.GetTeacherList();
},
mounted() {
if (this.saveObj) {
......@@ -165,63 +121,11 @@
methods: {
//关闭窗口
closeClassForm() {
this.clearMsg()
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;
},
//试听课程列表
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 = 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);
}
});
},
//清除
clearMsg() {
this.addMsg.Id = 0;
......@@ -235,6 +139,7 @@
this.addMsg.TrialLessonId = "";
this.addMsg.ReserveType = 0;
this.addMsg.ClassPlanId = 0;
this.addMsg.Demand="";
},
//保存
saveAppointForm() {
......@@ -247,25 +152,6 @@
});
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({
......@@ -287,7 +173,6 @@
this.clearMsg();
this.isShowReserve = false;
});
}
},
closeAuditForm() {
this.isShowTeacher = false;
......
......@@ -31,13 +31,18 @@
<q-chip color="primary" size="xs" text-color="white" style="position:absolute;:top:0;right:0" v-if="tItem.ReserveType==1">
跟班
</q-chip>
<div v-if="tItem.ReservationDate&&tItem.ReservationDate.length>0">
试听日期:{{ timeFormatSeconds(tItem.ReservationDate) }}
</div>
<div v-if="tItem.Demand&&tItem.Demand.length>0">
试听需求:{{ tItem.Demand }}
</div>
<div>
预约时间:{{ tItem.ClassDateStr }} {{ tItem.ClassTime }}-{{
tItem.EndTime
}}
预约时间:{{ tItem.ClassDateStr }} {{ tItem.ClassTime }}
<template v-if="tItem.ClassDateStr&&tItem.ClassDateStr.length>0">-</template>
{{ tItem.EndTime }}
</div>
<div class="StuCom_Remark">
<div class="StuCom_Remark" v-if="false">
<div style="flex-shrink:0">主讲内容:</div>
<div class="StuCom_Inner">{{ tItem.ClassContent }}</div>
</div>
......@@ -118,6 +123,33 @@
this.getList();
},
methods: {
//获得年月日时分秒
//传入日期//例:2020-10-27T14:36:23
timeFormatSeconds(time,type) {
let timeStr="";
var d = time ? new Date(time) : new Date();
var year = d.getFullYear();
var month = d.getMonth() + 1;
var day = d.getDate();
if (month < 10) month = '0' + month;
if (day < 10) day = '0' + day;
if(type==2){
var hours = d.getHours();
var min = d.getMinutes();
var seconds = d.getSeconds();
if (hours < 0) hours = '0' + hours;
if (min < 10) min = '0' + min;
if (seconds < 10) seconds = '0' + seconds;
timeStr+= ' ' + hours + ':' + min + ':' + seconds;
}
timeStr=year + '-' + month + '-' + day +timeStr;
return timeStr;
// return (year + '-' + month + '-' + day + ' ' + hours + ':' + min + ':' + seconds);
},
//获取试听列表
getList() {
queryVisitorReservePage(this.qMsg).then(res => {
......
<style></style>
<template>
<div>
<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 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 v-if="tItem.ReservationDate&&tItem.ReservationDate.length>0">
试听日期:{{ timeFormatSeconds(tItem.ReservationDate) }}
</div>
<div v-if="tItem.Demand&&tItem.Demand.length>0">
试听需求:{{ tItem.Demand }}
</div>
<div>
预约时间:{{ tItem.ClassDateStr }} {{ tItem.ClassTime }}
<template v-if="tItem.ClassDateStr&&tItem.ClassDateStr.length>0">-</template>
{{ tItem.EndTime }}
</div>
<div class="StuCom_Remark" v-if="false">
<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>
</template>
<template v-slot:subtitle>
<div class="Time_TopList">
<div>{{ tItem.CreateTimeStr2 }}</div>
<div>{{ tItem.CreateByName }}</div>
</div>
</template>
</q-timeline-entry>
</q-timeline>
</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" />
</div>
</div>
</template>
<script>
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: {
//获得年月日时分秒
//传入日期//例:2020-10-27T14:36:23
timeFormatSeconds(time,type) {
let timeStr="";
var d = time ? new Date(time) : new Date();
var year = d.getFullYear();
var month = d.getMonth() + 1;
var day = d.getDate();
if (month < 10) month = '0' + month;
if (day < 10) day = '0' + day;
if(type==2){
var hours = d.getHours();
var min = d.getMinutes();
var seconds = d.getSeconds();
if (hours < 0) hours = '0' + hours;
if (min < 10) min = '0' + min;
if (seconds < 10) seconds = '0' + seconds;
timeStr+= ' ' + hours + ':' + min + ':' + seconds;
}
timeStr=year + '-' + month + '-' + day +timeStr;
return timeStr;
// return (year + '-' + month + '-' + day + ' ' + hours + ':' + min + ':' + seconds);
},
//获取试听列表
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>
......@@ -54,7 +54,7 @@
<div row style="display: flex;justify-content: space-between;" v-if="ckedTab == 2">
<div class="tripTypeContent" style="flex-shrink:0">
<div v-for="(qItem, qIndex) in visitList" :key="qIndex"
:class="{ StuCkedType: qIndex + 1 == secondType }" @click="getckedType(qItem)">
:class="{ StuCkedType: qItem.Id == secondType }" @click="getckedType(qItem)">
{{ qItem.Name }}
</div>
</div>
......@@ -76,6 +76,8 @@
:save-obj="baseObj" v-if="secondType == 3" @success="refreshStudentPage"></student-genjin>
<student-shiting :save-obj="baseObj" v-if="secondType == 4" @success="refreshStudentPage">
</student-shiting>
<!-- <student-studyabroad :save-obj="baseObj" v-if="secondType == 6" @success="refreshStudentPage">
</student-studyabroad> -->
<student-consult :save-obj="baseObj" v-if="secondType == 5" @success="refreshStudentPage">
</student-consult>
</div>
......@@ -125,6 +127,7 @@
import studentYuefang from "../student/student-yuefang";
import studentGenjin from "../student/student-genjin";
import studentShiting from "../student/student-shiting";
import studentstudyabroad from "../student/student-studyabroad";
import studentConsult from "../student/student-consult"
import studentHetong from "../student/student-hetong";
import studentOrder from "../student/student-order";
......@@ -145,6 +148,7 @@
studentYuefang,
studentGenjin,
studentShiting,
studentstudyabroad,
studentHetong,
studentOrder,
studentAssit,
......@@ -193,6 +197,10 @@
Name: "试听",
Id: 4
},
{
Name: "留学需求",
Id: 6
},
// {
// Name: "顾问",
// Id: 5
......
......@@ -274,7 +274,7 @@
</template>
<script>
import studentForm from "./student-form";
import studentRightForm from "./studentRight-form";
import studentRightForm from "./studentRight-form";//包含试听课程
import studentAddForm from "./studentAdd-form";
import transferOrder from "./transfer-order";
import abroadForm from "./abroad-form";
......
......@@ -93,7 +93,8 @@
x.DictKey == 'Push_NewOrder' ||
x.DictKey == 'Push_TeachPreparing' ||
x.DictKey == 'Push_ClassEnd' ||
x.DictKey == 'Applet_Push_AuditEmp') &&
x.DictKey == 'Applet_Push_AuditEmp' ||
x.DictKey == 'TrialClass_Leader' ) &&
x.EditorStatus
"
:dict="x"
......
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