Commit a57310df authored by 黄奎's avatar 黄奎

新增约课配置

parent 5eba4cc0
......@@ -3,113 +3,113 @@ import request from '../../utils/request'
* 获取预约课管理统计
*/
export function GetAppointmentPlanStat(data) {
return request({
url: '/TeacherClass/GetAppointmentPlanStat',
method: 'post',
data
})
return request({
url: '/TeacherClass/GetAppointmentPlanStat',
method: 'post',
data
})
}
/**
* 获取约课配置
*/
export function GetAppointmentConfig(data) {
return request({
url: '/Scroll/GetAppointmentConfig',
method: 'post',
data
})
return request({
url: '/Scroll/GetAppointmentConfig',
method: 'post',
data
})
}
/**
* 获取老师的空闲上课时段
*/
export function GetCanTeacherClassTimeList(data) {
return request({
url: '/Scroll/GetCanTeacherClassTimeList',
method: 'post',
data
})
return request({
url: '/Scroll/GetCanTeacherClassTimeList',
method: 'post',
data
})
}
/**
* 获取可预约的学生列表
*/
export function GetCanAppointmentStuList(data) {
return request({
url: '/Scroll/GetCanAppointmentStuList',
method: 'post',
data
})
return request({
url: '/Scroll/GetCanAppointmentStuList',
method: 'post',
data
})
}
/**
* 获取预约学生的详情
*/
export function GetStuAppointmentInfo(data) {
return request({
url: '/Scroll/GetStuAppointmentInfo',
method: 'post',
data
})
return request({
url: '/Scroll/GetStuAppointmentInfo',
method: 'post',
data
})
}
/**
* 后台确认约课
*/
export function SetSureAppointment(data) {
return request({
url: '/Scroll/SetSureAppointment',
method: 'post',
data
})
return request({
url: '/Scroll/SetSureAppointment',
method: 'post',
data
})
}
/**
* 学生合并
*/
export function SetAppointmentStuTransfer(data) {
return request({
url: '/Scroll/SetAppointmentStuTransfer',
method: 'post',
data
})
return request({
url: '/Scroll/SetAppointmentStuTransfer',
method: 'post',
data
})
}
/**
* 获取可重上课的学生列表
*/
export function getCanAppointmentAgainList(data) {
return request({
url: '/Scroll/GetCanAppointmentAgainList',
method: 'post',
data
})
return request({
url: '/Scroll/GetCanAppointmentAgainList',
method: 'post',
data
})
}
/**
* 学员重上课
*/
export function setAppointmentAgain(data) {
return request({
url: '/Scroll/SetAppointmentAgain',
method: 'post',
data
})
return request({
url: '/Scroll/SetAppointmentAgain',
method: 'post',
data
})
}
/**
* 获取可补课学生列表
*/
export function getCanMakeupStuList(data) {
return request({
url: '/Scroll/GetCanMakeupStuList',
method: 'post',
data
})
return request({
url: '/Scroll/GetCanMakeupStuList',
method: 'post',
data
})
}
/**
* 学员补课
*/
export function setAppointmentMakeup(data) {
return request({
url: '/Scroll/SetAppointmentMakeup',
method: 'post',
data
})
return request({
url: '/Scroll/SetAppointmentMakeup',
method: 'post',
data
})
}
////////////////////////新版////////////////////////
......@@ -117,87 +117,121 @@ export function setAppointmentMakeup(data) {
* 获取可预约的学生列表(包含正常上课 重上课)
*/
export function getCanAppointmentStuList_V2(data) {
return request({
url: '/Scroll/GetCanAppointmentStuList_V2',
method: 'post',
data
})
return request({
url: '/Scroll/GetCanAppointmentStuList_V2',
method: 'post',
data
})
}
/**
* 新增约课
*/
export function setAdminScrollAppointment_V3(data) {
return request({
url: '/Scroll/SetAdminScrollAppointment_V3',
method: 'post',
data
})
return request({
url: '/Scroll/SetAdminScrollAppointment_V3',
method: 'post',
data
})
}
/**
* 补录约课
*/
export function setAdminScrollMakeUp(data) {
return request({
url: '/Scroll/SetAdminScrollMakeUp',
method: 'post',
data
})
return request({
url: '/Scroll/SetAdminScrollMakeUp',
method: 'post',
data
})
}
/**
* 取消已确认的约课
*/
export function cancelSureAppointment(data) {
return request({
url: '/Scroll/CancelSureAppointment',
method: 'post',
data
})
return request({
url: '/Scroll/CancelSureAppointment',
method: 'post',
data
})
}
/**
* 后台取消预约
*/
export function CancelAppointment(data) {
return request({
url: '/Scroll/CancelAppointment',
method: 'post',
data
})
return request({
url: '/Scroll/CancelAppointment',
method: 'post',
data
})
}
/**
* 调整上课教室
*/
export function SetScrollRoom(data) {
return request({
url: '/Scroll/SetScrollRoom',
method: 'post',
data
})
return request({
url: '/Scroll/SetScrollRoom',
method: 'post',
data
})
}
/**
* 获取上课章节名称
*/
export function getScrollCourseChapterName(data) {
return request({
url: 'Scroll/GetScrollCourseChapterName',
method: 'post',
data
})
return request({
url: 'Scroll/GetScrollCourseChapterName',
method: 'post',
data
})
}
/**
* 调整约课老师
*/
export function SetScrollTeacher(data) {
return request({
url: '/Scroll/SetScrollTeacher',
method: 'post',
data
})
}
\ No newline at end of file
return request({
url: '/Scroll/SetScrollTeacher',
method: 'post',
data
})
}
/**
* 学员排课配置查询
*/
export function queryStuPlanShowPage(data) {
return request({
url: '/ScheduleCourse/GetStuPlanShowPage',
method: 'post',
data
})
}
/**
* 删除学员排课设置
*/
export function deleteScrollPlanShow(data) {
return request({
url: '/ScheduleCourse/RemoveScrollPlanShow',
method: 'post',
data
})
}
/**
* 保存学员排课设置
*/
export function saveScrollPlanShow(data) {
return request({
url: '/ScheduleCourse/SetScrollPlanShow',
method: 'post',
data
})
}
......@@ -59,7 +59,6 @@
label="编辑" v-if="!props.row.isEdit" />
<q-btn flat size="xs" icon="edit" color="negative" style="font-weight:400" @click="delItem(props.row.Id)"
label="删除" />
</q-btn>
</q-td>
</q-tr>
</template>
......
<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="qMsg.StuName" label="学员姓名" class="col-10" hint="提示:需输入学员姓名查询学员列表"
@keyup.enter.native="resetQuery" />
<div class="col-2 q-pt-md">
<q-btn size="sm" color="accent" label="查询" @click="resetQuery" class="q-ml-md" />
</div>
</div>
<div class="row col-12">
<q-table :pagination="qMsg" :loading="loading" no-data-label="暂无相关数据" flat :data="stuList"
:columns="columns" class="sticky-column-table sticky-right-column-table " separator="none"
row-key="name">
<template v-slot:body-cell-ShowRetes="props">
<q-td auto-width :props="props">
<q-btn dense text-color="primary" flat unelevated
:label="props.row.ShowRetes==''?'设置':props.row.ShowRateName" @click="isShowColEdit=true" />
<q-popup-proxy>
<q-banner v-if="isShowColEdit">
<div style="width:180px;">
<div class="row col-12">
<q-select filled dense v-model="props.row.ShowReteList" option-value="RateId"
option-label="RateName" :options="props.row.AllReteList" emit-value map-options
label="排课设置" class="col-10" multiple />
</div>
<q-card-actions align="right" class="bg-white">
<q-btn label="取消" size="sm" flat color="grey-10" @click="isShowColEdit=false"
style="font-weight:400 !important" />
<q-btn label="确认" size="sm" @click="saveMsg(props.row)" color="accent q-px-md"
style="font-weight:400 !important" />
</q-card-actions>
</div>
</q-banner>
</q-popup-proxy>
</q-td>
</template>
<template v-slot:body-cell-optioned="props">
<q-td auto-width :props="props">
<template v-if="props.row.PlanShowId>0">
<q-btn dense text-color="primary" flat unelevated label="删除"
@click="deleteStuPlanShow(props.row)" />
</template>
</q-td>
</template>
<template v-slot:bottom>
<q-pagination class="full-width justify-end" v-model="qMsg.PageIndex" color="primary" :max="pageCount"
:input="true" @input="changePage" />
</template>
</q-table>
</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 {
queryStuPlanShowPage,
deleteScrollPlanShow,
saveScrollPlanShow
} from "../../../api/studyabroad/subscribe.js";
export default {
model: {
prop: "show",
event: "changeshow"
},
props: {
show: {
type: Boolean,
default: false
}
},
watch: {
show(val) {
}
},
data() {
return {
qMsg: {
PageIndex: 1,
PageSize: 8,
StuName: "",
rowsPerPage: 8,
},
stuList: [], //学员列表
loading: false,
pageCount: 0,
columns: [{
name: 'StuName',
label: '学员名称',
field: 'StuName',
align: 'left'
},
{
name: 'CourseName',
label: '报名课程',
field: 'CourseName',
align: 'left'
},
{
name: 'ShowRetes',
label: '排课设置等级',
field: 'ShowRetes',
align: 'left'
},
{
name: 'optioned',
label: '操作',
field: 'GuestId'
}
],
isShowColEdit: false,
};
},
mounted() {
this.getStuPlanShowPage();
},
methods: {
//开关弹窗
changeDig(val) {
this.$emit("success", val);
},
resetQuery() {
this.qMsg.PageIndex = 1;
this.getStuPlanShowPage();
},
changePage(val) {
this.qMsg.PageIndex = val;
this.getStuPlanShowPage();
},
getStuPlanShowPage() {
this.loading = true;
queryStuPlanShowPage(this.qMsg).then(res => {
this.loading = false;
if (res.Code == 1) {
this.stuList = res.Data.PageData;
this.pageCount = res.Data.PageCount;
}
});
},
//保存排课设置
saveMsg(item) {
saveScrollPlanShow(item).then(res => {
if (res.Code == 1) {
this.$q.notify({
message: "操作成功",
position: "top"
});
this.isShowColEdit = false;
this.getStuPlanShowPage();
}
})
},
//删除学员排课配置
deleteStuPlanShow(item) {
var message = "是否要删除【" + item.StuName + "】排课配置?";
var delMsg = {
Id: item.PlanShowId
};
this.$q
.dialog({
title: "提示信息",
message: message,
cancel: true,
persistent: true,
ok: "确定",
cancel: "取消"
})
.onOk(() => {
deleteScrollPlanShow(delMsg).then(res => {
if (res.Code == 1) {
this.$q.notify({
icon: "iconfont icon-chenggong",
color: "accent",
timeout: 2000,
message: "删除成功!",
position: "top"
});
this.getStuPlanShowPage();
} else {
this.$q.notify({
icon: "iconfont icon-chenggong",
color: "accent",
timeout: 2000,
message: res.Message,
position: "top"
});
}
});
})
.onCancel(() => {});
}
}
};
</script>
......@@ -23,6 +23,9 @@
</template>
</q-field>
</div>
<div class="col-2">
<q-btn color="primary" label="排课配置" @click="isShowStuConfig=true" />
</div>
</div>
<div class="row justify-center items-center q-mt-sm">
<q-badge style="background:#eb3b5a;color:black;">待确认</q-badge>&nbsp;
......@@ -90,7 +93,7 @@
<div :key="`r_g_`+rootIndex+timeIndex+aIndex+gIndex"
style="flex-basis:30px;margin:3px; flex-grow: 0;flex-shrink: 0;">
<q-tooltip>
消课章节:{{gItem.CourseChapterNoName}}
消课章节:{{gItem.CourseChapterNoName}}
</q-tooltip>
{{gItem.GuestName}}
</div>
......@@ -108,6 +111,7 @@
</div>
<SubscribeForm v-model="showForm" :editType="editType" :dateObj="dateObj" :saveObj="saveObj" :auth="auth"
:teacherList="TeacherList2" @success="successHandle" />
<StuplanForm v-model="isShowStuConfig" @success="closeStuConfig"></StuplanForm>
</div>
</template>
......@@ -129,6 +133,7 @@
queryGetTimeList
} from "../../api/stuMan/index";
import SubscribeForm from "../../components/stuMan/subscribe/subscribeForm";
import StuplanForm from "../../components/stuMan/subscribe/stuplanForm";
export default {
meta: {
title: "新约课中心",
......@@ -193,10 +198,12 @@
saveLoading: false,
dataList: [],
TimeList: [], //时段
isShowStuConfig: false,
};
},
components: {
SubscribeForm
SubscribeForm,
StuplanForm,
},
created() {
this.getAppointmentConfig();
......@@ -230,6 +237,11 @@
}
},
methods: {
//关闭配置弹窗
closeStuConfig()
{
this.isShowStuConfig=false;
},
//获取可约时间段
getTimeList() {
this.TimeList = [];
......
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