Commit ad3f3fe3 authored by 罗超's avatar 罗超

2

parent 8dbc0314
......@@ -16,15 +16,15 @@
<div>{{ saveObj.CourseName }}</div>
</template>
</q-field>
<q-field
filled
label="班级"
stack-label
class="col-6"
v-if="saveObj.ClassType !== 3"
>
<q-field filled label="班级" stack-label class="col-6" v-if="saveObj.ClassType !== 3">
<template v-slot:control>
<div>{{ saveObj.ClassName }}</div>
<div>
{{ saveObj.ClassName }}
<span v-if="saveObj.ClassType === 2">
<span v-if="saveObj.ReserveType === 0">(正常试听)</span>
<span v-if="saveObj.ReserveType === 1">(跟班试听)</span>
</span>
</div>
</template>
</q-field>
<!-- <q-field
......@@ -41,9 +41,8 @@
<q-field filled label="类型" stack-label class="col-6">
<template v-slot:control>
<div>
<span v-if="saveObj.ClassType == 1">跟班</span
><span v-if="saveObj.ClassType == 2">试听课</span
><span v-if="saveObj.ClassType == 3">约课</span>
<span v-if="saveObj.ClassType == 1">跟班</span><span v-if="saveObj.ClassType == 2">试听课</span><span
v-if="saveObj.ClassType == 3">约课</span>
</div>
</template>
</q-field>
......@@ -56,59 +55,28 @@
<template v-slot:control>
<div>
{{ saveObj.Ranks }}/{{ saveObj.TotalPlanNum }}
<span class="q-ml-sm" v-if="saveObj.ClassType == 3"
>({{ saveObj.CourseGradeName }})</span
>
<span class="q-ml-sm" v-if="saveObj.ClassType == 3">({{ saveObj.CourseGradeName }})</span>
</div>
</template>
</q-field>
<q-field
filled
label="预约状态:"
stack-label
class="col-6"
v-if="saveObj.ClassType == 3"
>
<q-field filled label="预约状态:" stack-label class="col-6" v-if="saveObj.ClassType == 3">
<template v-slot:control>
<div>
<span v-if="saveObj.AppointState == 1" style="color:#ef5350"
>待确认</span
><span v-if="saveObj.AppointState == 2" style="color:#21ba45"
>已确认</span
>
<span v-if="saveObj.AppointState == 1" style="color:#ef5350">待确认</span><span
v-if="saveObj.AppointState == 2" style="color:#21ba45">已确认</span>
</div>
<q-btn
color="accent"
size="xs"
label="确认"
v-if="
<q-btn color="accent" size="xs" label="确认" v-if="
saveObj.AppointState == 1 &&
saveObj.GuestList.length >= saveObj.ScrollMinNum &&
auth.IsEdit
"
@click="confirmSub"
class="q-ml-md"
/>
<q-badge
rounded
color="red"
label="未成班"
style="position:absolute;top:0;right:0"
class="q-ml-sm"
v-if="
" @click="confirmSub" class="q-ml-md" />
<q-badge rounded color="red" label="未成班" style="position:absolute;top:0;right:0" class="q-ml-sm" v-if="
saveObj.AppointState == 1 &&
isShowTag(saveObj.GuestList, saveObj.ScrollMinNum)
"
/>
" />
</template>
</q-field>
<q-field
filled
label="最小成班人数:"
stack-label
class="col-6"
v-if="saveObj.ClassType == 3"
>
<q-field filled label="最小成班人数:" stack-label class="col-6" v-if="saveObj.ClassType == 3">
<template v-slot:control>
<div>{{ saveObj.ScrollMinNum }}</div>
</template>
......@@ -124,55 +92,20 @@
<div>{{ saveObj.ScrollMaxNum }}</div>
</template>
</q-field> -->
<q-field
filled
label="已约学员:"
stack-label
class="col-12"
v-if="saveObj.ClassType == 3"
>
<q-field filled label="已约学员:" stack-label class="col-12" v-if="saveObj.ClassType == 3">
<template v-slot:control>
<div v-if="saveObj.AppointState == 1 && auth.IsEdit">
<div class="q-mt-sm flex justify-start">
<q-btn
color="accent"
size="xs"
label="调课"
@click="showChangeCourse"
:disable="checkStuType2.length == 0"
class="q-mr-sm"
/>
<q-btn
color="accent"
size="xs"
label="取消预约"
@click="cancelSub()"
:disable="checkStuType2.length == 0"
class="q-mr-sm"
/>
<q-btn
color="accent"
size="xs"
label="补课"
@click="showRelenishDig = true"
style="margin-left:440px"
/>
<q-btn
color="accent"
size="xs"
label="重学"
@click="showReStudyDig = true"
class="q-ml-sm"
/>
<q-btn color="accent" size="xs" label="调课" @click="showChangeCourse" :disable="checkStuType2.length == 0"
class="q-mr-sm" />
<q-btn color="accent" size="xs" label="取消预约" @click="cancelSub()" :disable="checkStuType2.length == 0"
class="q-mr-sm" />
<q-btn color="accent" size="xs" label="补课" @click="showRelenishDig = true" style="margin-left:440px" />
<q-btn color="accent" size="xs" label="重学" @click="showReStudyDig = true" class="q-ml-sm" />
</div>
<div class="row">
<q-checkbox
v-model="checkStuType2"
v-for="(x, y) in saveObj.GuestList"
:key="y"
:val="x.AppointmentId"
>
<q-checkbox v-model="checkStuType2" v-for="(x, y) in saveObj.GuestList" :key="y" :val="x.AppointmentId">
{{ x.GuestName }}
<span v-if="x.AppointType == 2">(补)</span>
<span v-if="x.AppointType == 3">(重)</span>
......@@ -188,13 +121,7 @@
</div>
</template>
</q-field>
<q-field
filled
label="学员名单:"
stack-label
class="col-12"
v-if="saveObj.ClassType !== 3"
>
<q-field filled label="学员名单:" stack-label class="col-12" v-if="saveObj.ClassType !== 3">
<template v-slot:control>
<div>
<span v-for="(x, y) in saveObj.GuestList" :key="y">
......@@ -206,168 +133,155 @@
</template>
</q-field>
</div>
<ChangeCourse
v-model="showChangeDig"
:saveObj="CourseObj"
@success="ChangeCourseSuccessHandle"
/>
<ReStudy
v-model="showReStudyDig"
:saveObj="saveObj"
:date="dateObj.date"
@success="ReStudyHandle"
></ReStudy>
<Relenish
v-model="showRelenishDig"
:saveObj="saveObj"
:date="dateObj.date"
@success="RelenishHandle"
></Relenish>
<ChangeCourse v-model="showChangeDig" :saveObj="CourseObj" @success="ChangeCourseSuccessHandle" />
<ReStudy v-model="showReStudyDig" :saveObj="saveObj" :date="dateObj.date" @success="ReStudyHandle"></ReStudy>
<Relenish v-model="showRelenishDig" :saveObj="saveObj" :date="dateObj.date" @success="RelenishHandle"></Relenish>
</div>
</template>
<script>
import {
CancelAppointment,
SetSureAppointment
} from "../../../api/studyabroad/subscribe.js";
import ChangeCourse from "./changeCourse";
import ReStudy from "./reStudy";
import Relenish from "./replenish.vue";
export default {
components: {
ChangeCourse,
ReStudy,
Relenish
},
props: {
dateObj: {
type: Object,
default: null
},
saveObj: {
type: Object,
default: null
import {
CancelAppointment,
SetSureAppointment
} from "../../../api/studyabroad/subscribe.js";
import ChangeCourse from "./changeCourse";
import ReStudy from "./reStudy";
import Relenish from "./replenish.vue";
export default {
components: {
ChangeCourse,
ReStudy,
Relenish
},
auth: {
type: Object,
default: () => {
return {
IsEdit: false
};
}
}
},
data() {
return {
checkStuType2: [], //
showChangeDig: false,
showReStudyDig: false,
showRelenishDig: false,
CourseObj: {}
};
},
methods: {
//取消预约
cancelSub() {
let that = this;
this.$q
.dialog({
title: "提示信息",
message: "是否要取消预约",
cancel: true,
ok: "是",
cancel: "否"
})
.onOk(() => {
const msg = {
Date: that.dateObj.date,
TeacherId: that.saveObj.Tid,
AppointIds: that.checkStuType2.toString()
props: {
dateObj: {
type: Object,
default: null
},
saveObj: {
type: Object,
default: null
},
auth: {
type: Object,
default: () => {
return {
IsEdit: false
};
CancelAppointment(msg).then(res => {
if (res.Code == 1) {
that.$q.notify({
message: "操作成功",
position: "top"
});
that.checkStuType2.map(e => {
that.saveObj.GuestList.map((_e, _i) => {
if (e == _e.AppointmentId) {
that.saveObj.GuestList.splice(_i, 1);
}
});
});
that.checkStuType2 = [];
that.$emit("success");
}
});
})
.onCancel(() => {});
},
//确认约课
confirmSub() {
if (this.saveObj.EnrollNum < this.saveObj.ScrollMinNum) {
this.$q.notify({
message: `最小开班人数为${this.saveObj.ScrollMinNum}`,
position: "top",
type: "negative"
});
return;
}
}
const msg = {
Date: this.dateObj.date,
TeacherId: this.saveObj.Tid,
ShiftSort: this.saveObj.ShiftSort
},
data() {
return {
checkStuType2: [], //
showChangeDig: false,
showReStudyDig: false,
showRelenishDig: false,
CourseObj: {}
};
SetSureAppointment(msg).then(res => {
if (res.Code == 1) {
},
methods: {
//取消预约
cancelSub() {
let that = this;
this.$q
.dialog({
title: "提示信息",
message: "是否要取消预约",
cancel: true,
ok: "是",
cancel: "否"
})
.onOk(() => {
const msg = {
Date: that.dateObj.date,
TeacherId: that.saveObj.Tid,
AppointIds: that.checkStuType2.toString()
};
CancelAppointment(msg).then(res => {
if (res.Code == 1) {
that.$q.notify({
message: "操作成功",
position: "top"
});
that.checkStuType2.map(e => {
that.saveObj.GuestList.map((_e, _i) => {
if (e == _e.AppointmentId) {
that.saveObj.GuestList.splice(_i, 1);
}
});
});
that.checkStuType2 = [];
that.$emit("success");
}
});
})
.onCancel(() => {});
},
//确认约课
confirmSub() {
if (this.saveObj.EnrollNum < this.saveObj.ScrollMinNum) {
this.$q.notify({
message: "操作成功",
message: `最小开班人数为${this.saveObj.ScrollMinNum}`,
position: "top",
type: "positive"
type: "negative"
});
// this.saveObj.AppointState = 2
this.$emit("close");
return;
}
});
},
//显示调课弹窗
showChangeCourse() {
this.CourseObj = {
date: this.dateObj.date,
ids: this.checkStuType2.toString()
};
this.showChangeDig = true;
},
ChangeCourseSuccessHandle() {
this.$emit("close");
},
ReStudyHandle(val) {
let arr = this.saveObj.GuestList || [];
arr.push(val);
this.$set(this.saveObj, "GuestList", arr);
this.$emit("success");
},
RelenishHandle(val) {
let arr = this.saveObj.GuestList || [];
arr.push(val);
this.$set(this.saveObj, "GuestList", arr);
this.$emit("success");
},
isShowTag(arr, min) {
let n = 0;
arr.map(e => {
if (e.AppointType !== 3) {
n += 1;
const msg = {
Date: this.dateObj.date,
TeacherId: this.saveObj.Tid,
ShiftSort: this.saveObj.ShiftSort
};
SetSureAppointment(msg).then(res => {
if (res.Code == 1) {
this.$q.notify({
message: "操作成功",
position: "top",
type: "positive"
});
// this.saveObj.AppointState = 2
this.$emit("close");
}
});
},
//显示调课弹窗
showChangeCourse() {
this.CourseObj = {
date: this.dateObj.date,
ids: this.checkStuType2.toString()
};
this.showChangeDig = true;
},
ChangeCourseSuccessHandle() {
this.$emit("close");
},
ReStudyHandle(val) {
let arr = this.saveObj.GuestList || [];
arr.push(val);
this.$set(this.saveObj, "GuestList", arr);
this.$emit("success");
},
RelenishHandle(val) {
let arr = this.saveObj.GuestList || [];
arr.push(val);
this.$set(this.saveObj, "GuestList", arr);
this.$emit("success");
},
isShowTag(arr, min) {
let n = 0;
arr.map(e => {
if (e.AppointType !== 3) {
n += 1;
}
});
if (n < min) {
return true;
} else {
return false;
}
});
if (n < min) {
return true;
} else {
return false;
}
}
}
};
};
</script>
......@@ -101,7 +101,13 @@
<div class="detailValue">{{ __item.CourseName }}</div>
</div>
<div class="flex no-wrap">
<span class="detailLabel">班级:</span><span>{{ __item.ClassName }}</span>
<span class="detailLabel">班级:</span>
<span>{{ __item.ClassName }}
<span v-if="__item.ClassType===2">
<span v-if="__item.ReserveType===0">(正常试听)</span>
<span v-if="__item.ReserveType===1">(跟班试听)</span>
</span>
</span>
</div>
<div class="flex no-wrap">
<span class="detailLabel">时间:</span><span>{{ __item.StartTime }}-{{ __item.EndTime }}</span>
......@@ -170,7 +176,13 @@
<span class="detailLabel">课程:</span><span>{{ __item.CourseName }}</span>
</div>
<div class="flex no-wrap">
<span class="detailLabel">班级:</span><span>{{ __item.ClassName }}</span>
<span class="detailLabel">班级:</span>
<span>{{ __item.ClassName }}
<span v-if="__item.ClassType===2">
<span v-if="__item.ReserveType===0">(正常试听)</span>
<span v-if="__item.ReserveType===1">(跟班试听)</span>
</span>
</span>
</div>
<div class="flex no-wrap">
<span class="detailLabel">时间:</span><span>{{ __item.StartTime }}-{{ __item.EndTime }}</span>
......@@ -296,7 +308,7 @@
Id: 0
},
{
label: "跟班",
label: "跟班",
Id: 1
},
{
......@@ -304,7 +316,7 @@
Id: 2
},
{
label: "约课",
label: "约课",
Id: 3
}
],
......
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