Commit 22c73014 authored by 罗超's avatar 罗超

2

parent 99363e06
......@@ -150,4 +150,14 @@ export function setAdminScrollAppointment_V2(data) {
method: 'post',
data
})
}
/**
* 补录约课
*/
export function setAdminScrollMakeUp(data) {
return request({
url: '/Scroll/SetAdminScrollMakeUp',
method: 'post',
data
})
}
\ No newline at end of file
......@@ -45,7 +45,8 @@
<div>
<span v-if="saveObj.ClassType == 1">{{ saveObj.Ranks }}/{{ saveObj.TotalPlanNum }}</span>
<span v-if="saveObj.ClassType == 3">{{ saveObj.Ranks||0 }}次课</span>
<span class="q-ml-sm" v-if="saveObj.ClassType == 3&&saveObj.CourseGradeName">({{ saveObj.CourseGradeName }})</span>
<span class="q-ml-sm"
v-if="saveObj.ClassType == 3&&saveObj.CourseGradeName">({{ saveObj.CourseGradeName }})</span>
</div>
</template>
</q-field>
......@@ -90,9 +91,6 @@
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="showMakeUpDig = true" style="margin-left:440px" />
<!-- <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">
......@@ -103,7 +101,10 @@
</q-checkbox>
</div>
</div>
<div v-else>
<div class="row col-12 relative-position" v-else >
<div class="absolute" style="top:-20px;right:0" v-if="auth.IsEdit">
<q-btn color="accent" size="xs" label="补录" @click="showMakeUpDig = true" />
</div>
<span v-for="(x, y) in saveObj.GuestList" :key="y">
{{ x.GuestName }}
<span v-if="x.AppointType == 2">(补)</span>
......@@ -125,9 +126,7 @@
</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>
<MakeUp v-model="showMakeUpDig" :saveObj="saveObj" :date="dateObj.date" @success="RelenishHandle"></MakeUp>
<MakeUp v-model="showMakeUpDig" :saveObj="saveObj" :date="dateObj.date" @success="makeUpHandle"></MakeUp>
</div>
</template>
<script>
......@@ -136,14 +135,10 @@
SetSureAppointment
} from "../../../api/studyabroad/subscribe.js";
import ChangeCourse from "./changeCourse";
import ReStudy from "./reStudy";
import Relenish from "./replenish.vue";
import MakeUp from "./makeUp.vue"
export default {
components: {
ChangeCourse,
ReStudy,
Relenish,
MakeUp
},
props: {
......@@ -168,8 +163,6 @@
return {
checkStuType2: [], //
showChangeDig: false,
showReStudyDig: false,
showRelenishDig: false,
showMakeUpDig: false,
CourseObj: {}
};
......@@ -235,7 +228,6 @@
position: "top",
type: "positive"
});
// this.saveObj.AppointState = 2
this.$emit("close");
}
});
......@@ -251,13 +243,7 @@
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) {
makeUpHandle(val) {
let arr = this.saveObj.GuestList || [];
arr.push(val);
this.$set(this.saveObj, "GuestList", arr);
......
......@@ -19,7 +19,7 @@
<q-input
filled
stack-label
v-model="reStuMsg.StuName"
v-model="msg.StuName"
label="学员姓名"
class="col-10"
hint="提示:需输入学员姓名查询学员列表"
......@@ -52,6 +52,17 @@
</q-item-section>
</q-item>
</template>
<template v-slot:option="scope">
<q-item v-bind="scope.itemProps" v-on="scope.itemEvents">
<q-item-section >
<div class="flex">
<span>{{ scope.opt.StuName }}</span>
<span v-if="scope.opt.State===3">(重)</span>
<span class="q-ml-sm">{{ scope.opt.CourseName }}</span>
</div>
</q-item-section>
</q-item>
</template>
</q-select>
<div class="col-2 q-pt-md">
<q-btn
......@@ -75,8 +86,8 @@
</template>
<script>
import {
getCanAppointmentAgainList,
setAppointmentAgain
getCanAppointmentStuList_V2,
setAdminScrollMakeUp
} from "../../../api/studyabroad/subscribe.js";
export default {
model: {
......@@ -106,9 +117,9 @@ export default {
},
data() {
return {
reStuMsg: {
msg: {
StuName: "",
CourseGradeNo: 0,
NextCourseGradeNo: 0,
CourseGradeId: 0
},
stuInfo: "",
......@@ -121,16 +132,16 @@ export default {
this.$emit("changeshow", val);
},
getStu() {
if (!this.reStuMsg.StuName) {
if (!this.msg.StuName) {
this.$q.notify({
message: "请输入学生姓名",
position: "top"
});
return;
}
this.reStuMsg.CourseGradeNo=this.saveObj.Ranks,
this.reStuMsg.CourseGradeId = this.saveObj.CourseGradeId;
getCanAppointmentAgainList(this.reStuMsg).then(res => {
this.msg.NextCourseGradeNo=this.saveObj.Ranks,
this.msg.CourseGradeId = this.saveObj.CourseGradeId;
getCanAppointmentStuList_V2(this.msg).then(res => {
if (res.Code == 1) {
this.stuOptions = res.Data;
}
......@@ -154,7 +165,7 @@ export default {
CourseGradeNo:this.saveObj.Ranks,
CourseGradeId: this.saveObj.CourseGradeId
};
setAppointmentAgain(saveMsg).then(res => {
setAdminScrollMakeUp(saveMsg).then(res => {
if (res.Code == 1) {
this.$q.notify({
message: "操作成功",
......@@ -162,12 +173,12 @@ export default {
});
this.$emit("success", {
GuestName: this.stuInfo.StuName,
AppointType: 3,
AppointType: 1,
AppointmentId: res.Data
});
this.msg.StuName=[]
this.stuInfo = "";
this.stuOptions = [];
this.getStu();
}
});
}
......
<template>
<div>
<q-dialog
v-model="show"
persistent
transition-show="scale"
transition-hide="scale"
@input="changeDig"
>
<q-card style="width: 600px;max-width:900px;">
<q-card-section class="row items-center q-pb-none">
<div class="text-h6">重学</div>
<q-space />
<q-btn icon="close" flat round dense @click="changeDig(false)" />
</q-card-section>
<q-card-section class="q-pt-none scroll" style="max-height: 70vh">
<div class="row col q-mr-lg q-col-gutter-md changeCourse">
<div class="row col-12">
<q-input
filled
stack-label
v-model="reStuMsg.StuName"
label="学员姓名"
class="col-10"
hint="提示:需输入学员姓名查询学员列表"
/>
<div class="col-2 q-pt-md">
<q-btn
size="sm"
color="accent"
label="查询"
@click="getStu"
class="q-ml-md"
/>
</div>
</div>
<div class="row col-12">
<q-select
filled
v-model="stuInfo"
stack-label
option-value="StuId"
option-label="StuName"
:options="stuOptions"
label="学员列表"
class="col-10"
>
<template v-slot:no-option>
<q-item>
<q-item-section class="text-grey">
未找到相关数据
</q-item-section>
</q-item>
</template>
</q-select>
<div class="col-2 q-pt-md">
<q-btn
size="sm"
color="accent"
label="添加"
@click="save"
class="q-ml-md"
/>
</div>
</div>
</div>
</q-card-section>
<q-separator />
<q-card-actions align="right" class="bg-white">
<q-btn label="取消" flat color="grey-10" @click="changeDig(false)" />
</q-card-actions>
</q-card>
</q-dialog>
</div>
</template>
<script>
import {
getCanAppointmentAgainList,
setAppointmentAgain
} from "../../../api/studyabroad/subscribe.js";
export default {
model: {
prop: "show",
event: "changeshow"
},
props: {
saveObj: {
type: Object,
default: null
},
date: {
type: String,
default: ""
},
show: {
type: Boolean,
default: false
}
},
watch: {
show(val) {
if (val) {
this.stuOptions = [];
}
}
},
data() {
return {
reStuMsg: {
StuName: "",
CourseGradeNo: 0,
CourseGradeId: 0
},
stuInfo: "",
stuOptions: []
};
},
methods: {
//开关弹窗
changeDig(val) {
this.$emit("changeshow", val);
},
getStu() {
if (!this.reStuMsg.StuName) {
this.$q.notify({
message: "请输入学生姓名",
position: "top"
});
return;
}
this.reStuMsg.CourseGradeNo=this.saveObj.Ranks,
this.reStuMsg.CourseGradeId = this.saveObj.CourseGradeId;
getCanAppointmentAgainList(this.reStuMsg).then(res => {
if (res.Code == 1) {
this.stuOptions = res.Data;
}
});
},
save() {
if (!this.stuInfo.StuId) {
this.$q.notify({
message: "请选择学生",
position: "top"
});
return;
}
const saveMsg = {
Date: this.date,
TeacherId: this.saveObj.Tid,
ShiftSort: this.saveObj.ShiftSort,
StuId: this.stuInfo.StuId,
GuestId: this.stuInfo.GuestId,
CourseId: this.saveObj.CourseId,
CourseGradeNo:this.saveObj.Ranks,
CourseGradeId: this.saveObj.CourseGradeId
};
setAppointmentAgain(saveMsg).then(res => {
if (res.Code == 1) {
this.$q.notify({
message: "操作成功",
position: "top"
});
this.$emit("success", {
GuestName: this.stuInfo.StuName,
AppointType: 3,
AppointmentId: res.Data
});
this.stuInfo = "";
this.stuOptions = [];
this.getStu();
}
});
}
}
};
</script>
<template>
<div>
<q-dialog
v-model="show"
persistent
transition-show="scale"
transition-hide="scale"
@input="changeDig"
>
<q-card style="width: 600px;max-width:900px;">
<q-card-section class="row items-center q-pb-none">
<div class="text-h6">补课</div>
<q-space />
<q-btn icon="close" flat round dense @click="changeDig(false)" />
</q-card-section>
<q-card-section class="q-pt-none scroll" style="max-height: 70vh">
<div class="row col q-mr-lg q-col-gutter-md changeCourse">
<div class="row col-12">
<q-select
filled
v-model="stuInfo"
use-input
stack-label
option-value="StuId"
option-label="StuName"
:options="stuOptions"
label="学员列表"
class="col-10"
@filter="filterStu"
>
<template v-slot:no-option>
<q-item>
<q-item-section class="text-grey">
未找到相关数据
</q-item-section>
</q-item>
</template>
</q-select>
<div class="col-2 q-pt-md">
<q-btn
size="sm"
color="accent"
label="添加"
@click="save"
class="q-ml-md"
/>
</div>
</div>
</div>
</q-card-section>
<q-separator />
<q-card-actions align="right" class="bg-white">
<q-btn label="取消" flat color="grey-10" @click="changeDig(false)" />
</q-card-actions>
</q-card>
</q-dialog>
</div>
</template>
<script>
import {
getCanMakeupStuList,
setAppointmentMakeup
} from "../../../api/studyabroad/subscribe.js";
export default {
model: {
prop: "show",
event: "changeshow"
},
props: {
saveObj: {
type: Object,
default: null
},
date: {
type: String,
default: ""
},
show: {
type: Boolean,
default: false
}
},
watch: {
show(val) {
if (val) {
this.getStu();
this.stuOptions = [];
this.AllStuOptions = [];
}
}
},
data() {
return {
reStuMsg: {
ChapterNo: 0
},
stuInfo: "请选择",
stuOptions: [],
AllStuOptions: []
};
},
methods: {
//开关弹窗
changeDig(val) {
this.$emit("changeshow", val);
},
getStu() {
const msg = {
CourseGradeNo:this.saveObj.Ranks,
CourseGradeId:this.saveObj.CourseGradeId
};
getCanMakeupStuList(msg).then(res => {
if (res.Code == 1) {
this.stuOptions = JSON.parse(JSON.stringify(res.Data));
this.AllStuOptions = JSON.parse(JSON.stringify(res.Data));
}
});
},
//筛选学生
filterStu(val, update) {
update(() => {
if (val === "") {
this.stuOptions = JSON.parse(JSON.stringify(this.AllStuOptions));
} else {
const needle = val.toLowerCase();
this.stuOptions = this.AllStuOptions.filter(
v => v.StuName.toLowerCase().indexOf(needle) > -1
);
}
});
},
save() {
if (!this.stuInfo.StuId) {
this.$q.notify({
message: "请选择学生",
position: "top"
});
return;
}
const saveMsg = {
Date: this.date,
TeacherId: this.saveObj.Tid,
ShiftSort: this.saveObj.ShiftSort,
StuId: this.stuInfo.StuId,
GuestId: this.stuInfo.GuestId,
CourseId: this.saveObj.CourseId,
CourseGradeNo:this.saveObj.Ranks,
CourseGradeId: this.saveObj.CourseGradeId
};
setAppointmentMakeup(saveMsg).then(res => {
if (res.Code == 1) {
this.$q.notify({
message: "操作成功",
position: "top"
});
this.$emit("success", {
GuestName: this.stuInfo.StuName,
AppointType: 2,
AppointmentId: res.Data
});
this.stuInfo = "";
this.stuOptions = [];
this.AllStuOptions = [];
this.getStu();
}
});
}
}
};
</script>
......@@ -101,7 +101,7 @@
<div class="flex">
<span>{{ scope.opt.StuName }}</span>
<span v-if="scope.opt.State===3">(重)</span>
<span>-{{ scope.opt.CourseName }}</span>
<span class="q-ml-sm">{{ scope.opt.CourseName }}</span>
</div>
</q-item-section>
</q-item>
......@@ -135,8 +135,6 @@
<script>
import {
GetCanTeacherClassTimeList,
GetCanAppointmentStuList,
// SetAdminScrollAppointment,
getCanAppointmentStuList_V2,
setAdminScrollAppointment_V2
} from "../../../api/studyabroad/subscribe.js";
......@@ -201,9 +199,6 @@
this.stuList = [];
this.allStuList = [];
this.stuMsg_v2.StuName=""
// if (this.editType == 2 && this.saveObj.ClassType == 3) {
// this.getStu_V2();
// }
}
}
},
......@@ -219,10 +214,6 @@
},
stuList: [],
allStuList: [],
stuMsg: {
CourseId: 0,
NextCourseGradeNo: 0
},
stuMsg_v2: {
StuName: "",
NextCourseGradeNo: 0,
......@@ -240,7 +231,6 @@
StuId: 0,
GuestId: 0,
CourseId: 0,
// ChapterNo: 0,
CourseGradeId: 0,
CourseGradeNo: 0
},
......@@ -255,7 +245,6 @@
};
},
mounted() {
this.getCourseList();
},
methods: {
......@@ -316,24 +305,6 @@
this.teacherTimeList = res.Data;
});
},
//获取学生列表
getStu() {
console.log(this.checkChapter)
return
this.stuMsg.CourseId = this.teaClassMsg.CourseId || 0;
if (this.editType == 1) {
this.stuMsg.CourseGradeId = this.checkChapter.CourseRate || 0;
this.stuMsg.NextCourseGradeNo = this.checkChapter.ChapterGradeNo || 0;
}
if (this.editType == 2) {
this.stuMsg.CourseGradeId = this.saveObj.CourseGradeId || 0;
this.stuMsg.NextCourseGradeNo = this.saveObj.Ranks || 0;
}
GetCanAppointmentStuList(this.stuMsg).then(res => {
this.stuList = JSON.parse(JSON.stringify(res.Data));
this.allStuList = JSON.parse(JSON.stringify(res.Data));
});
},
//筛选学生
filterStu(val, update) {
update(() => {
......@@ -366,7 +337,6 @@
this.stuMsg_v2.CourseGradeId = this.saveObj.CourseGradeId
}
getCanAppointmentStuList_V2(this.stuMsg_v2).then(res => {
console.log(337, res)
this.stuList = JSON.parse(JSON.stringify(res.Data));
this.allStuList = JSON.parse(JSON.stringify(res.Data));
})
......@@ -403,9 +373,6 @@
return;
}
});
if (this.checkChapter.CourseRate && this.checkChapter.ChapterNo) {
// this.getStu();
}
this.teaClassMsg.TeacherId = 0;
this.teacherTimeList = [];
},
......@@ -511,7 +478,7 @@
});
}
this.stuInfo = "";
this.getStu_V2();
this.stuMsg_v2.StuName=""
this.$emit("success");
}
})
......
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