Commit 04e5acde authored by 黄奎's avatar 黄奎

页面修改

parent 50e6dcae
<style> <style>
li { li {
list-style-type: none; list-style-type: none;
} }
.stuList ul { .stuList ul {
padding: 0px; padding: 0px;
} }
.stuList li { .stuList li {
background: rgba(221, 222, 224, 0.2); background: rgba(221, 222, 224, 0.2);
border-radius: 4px; border-radius: 4px;
margin-top: 15px; margin-top: 15px;
} }
.stuList li .dline { .stuList li .dline {
display: table; display: table;
width: 100%; width: 100%;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
} }
.stuList li .d1, .stuList li .d1,
.stuList li .d2, .stuList li .d2,
.stuList li .d3, .stuList li .d3,
.stuList li .d4, .stuList li .d4,
.stuList li .d5 { .stuList li .d5 {
width: 18%; width: 18%;
padding: 20px 20px 10px; padding: 20px 20px 10px;
} }
.stuList li .d7 { .stuList li .d7 {
flex: 1; flex: 1;
width: 1px; width: 1px;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
} }
.stuList li .d1 .di-title { .stuList li .d1 .di-title {
font-size: 16px; font-size: 16px;
color: #111111; color: #111111;
} }
.stuList li .d1 .di-c { .stuList li .d1 .di-c {
font-size: 14px; font-size: 14px;
display: flex; display: flex;
line-height: 28px; line-height: 28px;
color: #111111; color: #111111;
} }
.stuList li .d6 { .stuList li .d6 {
padding: 10px 20px; padding: 10px 20px;
width: 100%; width: 100%;
height: inherit; height: inherit;
position: relative; position: relative;
border-top: 1px solid #dddee0; border-top: 1px solid #dddee0;
} }
.stuList li .d6 .progress { .stuList li .d6 .progress {
width: 100%; width: 100%;
height: 5px; height: 5px;
position: absolute; position: absolute;
left: 0; left: 0;
bottom: 0; bottom: 0;
} }
.stuList li .d2 div { .stuList li .d2 div {
margin: 2px 0; margin: 2px 0;
font-size: 14px; font-size: 14px;
color: #111111; color: #111111;
} }
.stuList li .d2-n { .stuList li .d2-n {
font-size: 12px; font-size: 12px;
color: #999999; color: #999999;
margin-right: 20px; margin-right: 20px;
} }
.stuList li .d3 .d3-s { .stuList li .d3 .d3-s {
color: var(--q-color-negative); color: var(--q-color-negative);
font-weight: bold; font-weight: bold;
} }
.stuList li .d3 div { .stuList li .d3 div {
margin: 2px 0; margin: 2px 0;
font-size: 14px; font-size: 14px;
} }
.stuList li .d4 div { .stuList li .d4 div {
font-size: 14px; font-size: 14px;
color: #111111; color: #111111;
margin: 2px 0; margin: 2px 0;
} }
.stuList li .d5 div { .stuList li .d5 div {
font-size: 14px; font-size: 14px;
color: #111111; color: #111111;
margin: 2px 0; margin: 2px 0;
} }
.stuList .myCourseNName { .stuList .myCourseNName {
width: 25px; width: 25px;
height: 25px; height: 25px;
border-radius: 50%; border-radius: 50%;
color: #fff !important; color: #fff !important;
text-align: center; text-align: center;
line-height: 25px; line-height: 25px;
background-color: #004d40; background-color: #004d40;
} }
.stuList .app-image { .stuList .app-image {
background-position: center center; background-position: center center;
width: 50px; width: 50px;
height: 50px; height: 50px;
border-radius: 0%; border-radius: 0%;
float: left; float: left;
margin-right: 8px; margin-right: 8px;
} }
.Sysuser_Date .el-input { .Sysuser_Date .el-input {
width: 100%; width: 100%;
border: none; border: none;
background-color: transparent; background-color: transparent;
} }
.Sysuser_Date .el-input__inner { .Sysuser_Date .el-input__inner {
width: 100%; width: 100%;
border: none; border: none;
background-color: transparent; background-color: transparent;
} }
.Sysuser_Date .el-range-editor .el-range-input { .Sysuser_Date .el-range-editor .el-range-input {
width: 100%; width: 100%;
border: none; border: none;
background-color: transparent; background-color: transparent;
} }
.el-picker-panel { .el-picker-panel {
z-index: 99999 !important; z-index: 99999 !important;
} }
.syster_qDropdown .q-btn__wrapper { .syster_qDropdown .q-btn__wrapper {
padding: 0 3px; padding: 0 3px;
min-height: 0 !important; min-height: 0 !important;
} }
.editOrderDrawerTop {
width: 100%;
height: 50px;
display: flex;
justify-content: space-between;
background-color: #f0f5fb;
padding: 5px 10px;
align-items: center;
}
.editOrderDrawerTop {
width: 100%;
height: 50px;
display: flex;
justify-content: space-between;
background-color: #f0f5fb;
padding: 5px 10px;
align-items: center;
}
</style> </style>
<template> <template>
<div class="page-body stuList"> <div class="page-body stuList">
<div class="row q-mb-md"> <div class="row q-mb-md">
<q-space></q-space> <q-space></q-space>
<!-- <el-badge :value="11" style="float:right"> -->
<div style="position: relative"> <div style="position: relative">
<q-btn <q-btn color="accent" label="高级查询" @click="IsShowQuery = true"></q-btn>
color="accent"
label="高级查询"
@click="IsShowQuery = true"
></q-btn>
<q-badge floating rounded color="red">{{ queryNum }}</q-badge> <q-badge floating rounded color="red">{{ queryNum }}</q-badge>
</div> </div>
<!-- </el-badge> -->
</div> </div>
<div class="page-search row items-center flex"> <div class="page-search row items-center flex">
<div class="col row wrap q-mr-lg q-col-gutter-md"> <div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3"> <div class="col-3">
<q-select <q-select @input="changeSchool" standout="bg-primary text-white" v-model="msg.School_Id" class="col-6"
@input="changeSchool" option-label="SName" option-value="SId" :options="SchoolList" emit-value map-options label="校区" />
standout="bg-primary text-white"
v-model="msg.School_Id"
class="col-6"
option-label="SName"
option-value="SId"
:options="SchoolList"
emit-value
map-options
label="校区"
/>
</div> </div>
<div class="col-3"> <div class="col-3">
<q-select <q-select @input="changeCourse" standout="bg-primary text-white" v-model="msg.CourseId" class="col-6"
@input="changeCourse" option-label="CourseName" option-value="CourseId" use-input :options="CourseList" @filter="filterCourse"
standout="bg-primary text-white" emit-value map-options label="课程" clearable>
v-model="msg.CourseId"
class="col-6"
option-label="CourseName"
option-value="CourseId"
use-input
:options="CourseList"
@filter="filterCourse"
emit-value
map-options
label="课程"
clearable
>
<template v-slot:no-option> <template v-slot:no-option>
<q-item> <q-item>
<q-item-section class="text-grey"> <q-item-section class="text-grey">
...@@ -214,30 +186,16 @@ li { ...@@ -214,30 +186,16 @@ li {
</q-select> </q-select>
</div> </div>
<div class="col-3"> <div class="col-3">
<q-select <q-select @input="resetSearch" standout="bg-primary text-white" v-model="msg.ClassId" class="col-6" use-input
@input="resetSearch" @filter="filterClass" option-label="ClassName" option-value="ClassId" :options="classList" emit-value
standout="bg-primary text-white" map-options label="班级" clearable>
v-model="msg.ClassId" <template v-slot:option="{
class="col-6"
use-input
@filter="filterClass"
option-label="ClassName"
option-value="ClassId"
:options="classList"
emit-value
map-options
label="班级"
clearable
>
<template
v-slot:option="{
itemProps, itemProps,
itemEvents, itemEvents,
opt, opt,
selected, selected,
toggleOption, toggleOption,
}" }">
>
<q-item v-bind="itemProps" v-on="itemEvents"> <q-item v-bind="itemProps" v-on="itemEvents">
<q-item-section> <q-item-section>
<q-item-label v-html="opt.ClassName"></q-item-label> <q-item-label v-html="opt.ClassName"></q-item-label>
...@@ -257,129 +215,84 @@ li { ...@@ -257,129 +215,84 @@ li {
</q-select> </q-select>
</div> </div>
<div class="col-3"> <div class="col-3">
<q-input <q-input @input="resetSearch" clearable standout="bg-primary text-white" v-model="msg.GuestName" label="学员姓名"
@input="resetSearch" @clear="resetSearch" maxlength="20" />
clearable
standout="bg-primary text-white"
v-model="msg.GuestName"
label="学员姓名"
@clear="resetSearch"
maxlength="20"
/>
</div> </div>
</div> </div>
</div> </div>
<div class="page-content"> <div class="page-content">
<q-table <q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat
:pagination="msg" class="sticky-tow-column-table sticky-right-column-table" separator="none" :data="data" :columns="columns"
:loading="loading" row-key="name">
no-data-label="暂无相关数据"
flat
class="sticky-tow-column-table sticky-right-column-table"
separator="none"
:data="data"
:columns="columns"
row-key="name"
>
<template v-slot:top="props"> <template v-slot:top="props">
<div class="col-2 q-table__title">学员名单</div> <div class="col-2 q-table__title">学员名单</div>
</template> </template>
<template v-slot:body-cell-ContractNo="props"> <template v-slot:body-cell-ContractNo="props">
<q-td :props="props"> <q-td :props="props">
<div <div style="color: #f00; cursor: pointer" @click="seeContract(props.row)">
style="color: #f00; cursor: pointer"
@click="seeContract(props.row)"
>
{{ props.row.ContractNo }} {{ props.row.ContractNo }}
</div> </div>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-ClassName="props"> <template v-slot:body-cell-ClassName="props">
<q-td :props="props"> <q-td :props="props">
<div <div style="color: #f00; cursor: pointer" @click="seeClassDetail(props.row)">
style="color: #f00; cursor: pointer"
@click="seeClassDetail(props.row)"
>
{{ props.row.ClassName }} {{ props.row.ClassName }}
</div> </div>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-OrderId="props"> <template v-slot:body-cell-OrderId="props">
<q-td :props="props"> <q-td :props="props">
<div <div style="color: #f00; cursor: pointer" @click="showOrderDetail(props.row, 1)">
style="color: #f00; cursor: pointer"
@click="showOrderDetail(props.row, 1)"
>
{{ props.row.OrderId }} {{ props.row.OrderId }}
</div> </div>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-Income="props"> <template v-slot:body-cell-Income="props">
<q-td :props="props"> <q-td :props="props">
<div <div style="color: #f00; cursor: pointer" @click="showOrderDetail(props.row, 4)">
style="color: #f00; cursor: pointer"
@click="showOrderDetail(props.row, 4)"
>
{{ props.row.Income }} {{ props.row.Income }}
</div> </div>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-Refund="props"> <template v-slot:body-cell-Refund="props">
<q-td :props="props"> <q-td :props="props">
<div <div style="color: #f00; cursor: pointer" @click="showOrderDetail(props.row, 4)">
style="color: #f00; cursor: pointer"
@click="showOrderDetail(props.row, 4)"
>
{{ props.row.Refund }} {{ props.row.Refund }}
</div> </div>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-CompleteHours="props"> <template v-slot:body-cell-CompleteHours="props">
<q-td :props="props"> <q-td :props="props">
<div <div style="color: #f00; cursor: pointer" @click="seeStudentsClassUse(props.row)">
style="color: #f00; cursor: pointer"
@click="seeStudentsClassUse(props.row)"
>
{{ props.row.CompleteHours }} {{ props.row.CompleteHours }}
</div> </div>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-MakeUpHours="props"> <template v-slot:body-cell-MakeUpHours="props">
<q-td :props="props"> <q-td :props="props">
<div <div style="color: #f00; cursor: pointer" @click="showList(props.row, 1)">
style="color: #f00; cursor: pointer"
@click="showList(props.row, 1)"
>
{{ props.row.MakeUpHours }} {{ props.row.MakeUpHours }}
</div> </div>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-AbsenceNum="props"> <template v-slot:body-cell-AbsenceNum="props">
<q-td :props="props"> <q-td :props="props">
<div <div style="color: #f00; cursor: pointer" @click="showList(props.row, 2)">
style="color: #f00; cursor: pointer"
@click="showList(props.row, 2)"
>
{{ props.row.AbsenceNum }} {{ props.row.AbsenceNum }}
</div> </div>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-LeaveNum="props"> <template v-slot:body-cell-LeaveNum="props">
<q-td :props="props"> <q-td :props="props">
<div <div style="color: #f00; cursor: pointer" @click="showList(props.row, 3)">
style="color: #f00; cursor: pointer"
@click="showList(props.row, 3)"
>
{{ props.row.LeaveNum }} {{ props.row.LeaveNum }}
</div> </div>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-EventlogNum="props"> <template v-slot:body-cell-EventlogNum="props">
<q-td :props="props"> <q-td :props="props">
<div <div style="color: #f00; cursor: pointer" @click="showEventLog(props.row)">
style="color: #f00; cursor: pointer"
@click="showEventLog(props.row)"
>
{{ props.row.EventlogNum }} {{ props.row.EventlogNum }}
</div> </div>
</q-td> </q-td>
...@@ -387,37 +300,13 @@ li { ...@@ -387,37 +300,13 @@ li {
<template v-slot:body-cell-optioned="props"> <template v-slot:body-cell-optioned="props">
<q-td :props="props"> <q-td :props="props">
<div> <div>
<q-btn <q-btn flat size="xs" color="accent" style="font-weight: 400" label="停课" v-if="props.row.GuestState === 1"
flat @click="ShowStopLesson(props.row)" />
size="xs" <q-btn flat size="xs" color="accent" style="font-weight: 400" label="转班" v-if="props.row.GuestState === 1"
color="accent" @click="transferClass(props.row, 1)" />
style="font-weight: 400" <q-btn-dropdown flat size="xs" color="dark" label="更多" style="margin-left: 10px">
label="停课"
v-if="props.row.GuestState === 1"
@click="ShowStopLesson(props.row)"
/>
<q-btn
flat
size="xs"
color="accent"
style="font-weight: 400"
label="转班"
v-if="props.row.GuestState === 1"
@click="transferClass(props.row, 1)"
/>
<q-btn-dropdown
flat
size="xs"
color="dark"
label="更多"
style="margin-left: 10px"
>
<q-list> <q-list>
<q-item <q-item clickable v-close-popup @click="showAddEvent(props.row)">
clickable
v-close-popup
@click="showAddEvent(props.row)"
>
<q-item-section> <q-item-section>
<q-item-label>添加事件</q-item-label> <q-item-label>添加事件</q-item-label>
</q-item-section> </q-item-section>
...@@ -428,565 +317,519 @@ li { ...@@ -428,565 +317,519 @@ li {
</q-td> </q-td>
</template> </template>
<template v-slot:bottom> <template v-slot:bottom>
<q-pagination <q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="pageCount"
class="full-width justify-end" :input="true" @input="changePage" />
v-model="msg.pageIndex"
color="primary"
:max="pageCount"
:input="true"
@input="changePage"
/>
</template> </template>
</q-table> </q-table>
</div> </div>
<!-- 高级查询 --> <!-- 高级查询 -->
<MoreQuery <MoreQuery v-if="IsShowQuery" :typeEnum="typeEnum" :warnEnum="warnEnum" :saveQuery="msg" @close="closeHandle"
v-if="IsShowQuery" @success="morequery">
:typeEnum="typeEnum"
:warnEnum="warnEnum"
:saveQuery="msg"
@close="closeHandle"
@success="morequery"
>
</MoreQuery> </MoreQuery>
<!-- 停课申请 --> <!-- 停课申请 -->
<StopLesson-form <StopLesson-form v-if="isShowStopLesson" :setObj="stuObj" @success="resetSearch" @close="closeHandle" />
v-if="isShowStopLesson"
:setObj="stuObj"
@success="resetSearch"
@close="closeHandle"
/>
<!-- 转班申请 --> <!-- 转班申请 -->
<transferclass-form <transferclass-form v-if="isShowTransferClass" :save-obj="orderObj" :ChangeType="ChangeType" @close="closeHandle"
v-if="isShowTransferClass" @success="resetSearch"></transferclass-form>
:save-obj="orderObj"
:ChangeType="ChangeType"
@close="closeHandle"
@success="resetSearch"
></transferclass-form>
<!-- 添加事件 --> <!-- 添加事件 -->
<AddEvent-form <AddEvent-form v-if="isShowAddEvent" :setObj="eventObj" @success="resetSearch" @close="closeHandle" />
v-if="isShowAddEvent"
:setObj="eventObj"
@success="resetSearch"
@close="closeHandle"
/>
<!-- 班级详情 --> <!-- 班级详情 -->
<classinfo-form <classinfo-form v-if="isShowClassInfo" :seting-obj="eventObj" @close="closeHandle" @success="refreshPage" />
v-if="isShowClassInfo"
:seting-obj="eventObj"
@close="closeHandle"
@success="refreshPage"
/>
<!-- 订单详情 --> <!-- 订单详情 -->
<myOrder-form <myOrder-form v-if="isShowmyorderForm" :save-obj="eventObj" @close="closeHandle"></myOrder-form>
v-if="isShowmyorderForm"
:save-obj="eventObj"
@close="closeHandle"
></myOrder-form>
<!-- 可补课课时,缺勤次数,请假次数 --> <!-- 可补课课时,缺勤次数,请假次数 -->
<list <list v-if="isShowList" :type="showType" :set-obj="eventObj" @close="closeHandle" />
v-if="isShowList"
:type="showType"
:set-obj="eventObj"
@close="closeHandle"
/>
<!-- 事件记录 --> <!-- 事件记录 -->
<eventLog <eventLog v-if="isShowEventLog" :set-obj="eventObj" @modify="modifyEvent" @close="closeHandle" />
v-if="isShowEventLog"
:set-obj="eventObj"
@modify="modifyEvent"
@close="closeHandle"
/>
</div> </div>
</template> </template>
<script> <script>
import { import {
getSchoolDropdown, getSchoolDropdown,
getClassDropDownList, getClassDropDownList,
} from "../../api/school/index"; } from "../../api/school/index";
import { queryCourseDropdownList } from "../../api/course/index"; import {
import { queryCourseDropdownList
getStuList, } from "../../api/course/index";
getEarlyWarningEnum, import {
getTypeEnum, getStuList,
} from "../../api/stuMan/index.js"; getEarlyWarningEnum,
import MoreQuery from "../../components/stuMan/moreQuery.vue"; getTypeEnum,
import StopLessonForm from "../../components/teacher/stopLessonForm"; } from "../../api/stuMan/index.js";
import transferclassForm from "../../components/sale/transferclass-form"; //转班信息 import MoreQuery from "../../components/stuMan/moreQuery.vue";
import AddEventForm from "../../components/stuMan/addEvent-form.vue"; //转班信息 import StopLessonForm from "../../components/teacher/stopLessonForm";
import classinfoForm from "../../components/course/classinfo-form"; //班级详情 import transferclassForm from "../../components/sale/transferclass-form"; //转班信息
import myOrderForm from "../../components/sale/myOrder-form"; //订单详情 import AddEventForm from "../../components/stuMan/addEvent-form.vue"; //转班信息
import list from "../../components/stuMan/makeUpHours.vue"; //可补课课时,缺勤次数,请假次数 import classinfoForm from "../../components/course/classinfo-form"; //班级详情
import eventLog from "../../components/stuMan/eventRecord.vue"; //事件记录 import myOrderForm from "../../components/sale/myOrder-form"; //订单详情
export default { import list from "../../components/stuMan/makeUpHours.vue"; //可补课课时,缺勤次数,请假次数
meta: { import eventLog from "../../components/stuMan/eventRecord.vue"; //事件记录
title: "学员名单", export default {
}, meta: {
components: { title: "学员名单",
MoreQuery,
StopLessonForm,
transferclassForm,
AddEventForm,
classinfoForm,
myOrderForm,
list,
eventLog,
},
data() {
return {
IsShowQuery: false,
data: [],
loading: false,
msg: {
pageIndex: 1,
pageSize: 10,
rowsPerPage: 10,
School_Id: -1, //校区
CourseId: 0, //课程
ClassId: 0, //班级
GuestName: "", //学生姓名
ClassNo: "", //班号
OrderId: 0, //订单号
EnterID: 0, //业务员
EffectStatus: "", //状态
JoinType: 0, //类型
EarlyWarning: 0, //预警
OrderTime: "", //下单时间
EndOrderTime: "", //下单结束时间
},
pageCount: 0,
columns: [
{
name: "Id",
label: "编号",
field: "Id",
align: "left",
required: true,
},
{
name: "GuestName",
label: "姓名",
align: "left",
field: "GuestName",
required: true,
},
{
name: "Mobile",
label: "电话",
align: "left",
field: "Mobile",
},
{
name: "ContractNo",
label: "合同编号",
align: "left",
field: "ContractNo",
},
{
name: "ClassName",
label: "班级",
align: "left",
field: "ClassName",
},
{
name: "CourseName",
label: "课程",
align: "left",
field: "CourseName",
},
{
name: "TeacherName",
label: "老师",
align: "left",
field: "TeacherName",
},
{
name: "OrderId",
label: "订单号",
align: "left",
field: "OrderId",
},
{
name: "OrderTime",
label: "报名时间",
align: "left",
field: "OrderTime",
},
{
name: "EnterName",
label: "业务员",
field: "EnterName",
align: "left",
},
{
name: "PreferPrice",
label: "应收金额",
field: "PreferPrice",
align: "left",
},
{
name: "Income",
label: "实收金额",
field: "Income",
align: "left",
},
{
name: "Refund",
label: "退款金额",
field: "Refund",
align: "left",
},
{
name: "TotalHours",
label: "课程总课时",
field: "TotalHours",
align: "left",
},
{
name: "ValidClassHours",
label: "有效课时",
field: "ValidClassHours",
align: "left",
},
{
name: "CompleteHours",
label: "消耗课时",
field: "CompleteHours",
align: "left",
},
{
name: "SurplusHours",
label: "剩余课时",
field: "SurplusHours",
align: "left",
},
{
name: "MakeUpHours",
label: "可补课课时",
field: "MakeUpHours",
align: "left",
},
{
name: "AbsenceNum",
label: "缺勤次数",
field: "AbsenceNum",
align: "left",
},
{
name: "LeaveNum",
label: "请假次数",
field: "LeaveNum",
align: "left",
},
{
name: "EventlogNum",
label: "事件记录",
field: "EventlogNum",
align: "left",
},
{
name: "GuestStateStr",
label: "状态",
field: "GuestStateStr",
align: "left",
},
{
name: "JoinTypeStr",
label: "类型",
field: "JoinTypeStr",
align: "left",
},
{
name: "optioned",
label: "操作",
required: true,
align: "left",
},
],
SchoolList: [],
CourseList: [],
AllCourseList: [],
classList: [],
AllClassList: [],
queryClass: {
CourseId: 0,
IsAddDefault: 1,
SchoolId: -1,
Teacher_Id: 0,
MoreStatus: "1,2,3",
IsQuerySurplusPlan: 0,
},
typeEnum: [],
warnEnum: [],
queryNum: 0, //高级查询个数
isShowStopLesson: false,
stuObj: {}, //停课
isShowTransferClass: false, //是否显示转班
orderObj: {}, //转班
ChangeType: 1, //1-转班 2-分拆
isShowAddEvent: false, //是否显示添加事件
eventObj: {},
isShowClassInfo: false, //是否显示班级详情
isShowmyorderForm: false, //是否显示订单详情
isShowList: false, //是否显示可补课课时,缺勤次数,请假次数
showType: 1,
isShowEventLog: false, //是否显示事件记录
};
},
mounted() {
this.getSchool();
this.getCourseList();
this.getClass();
this.getTypeEnum();
this.getEarlyWarningEnum();
this.getList();
},
methods: {
//获取校区下拉
getSchool() {
getSchoolDropdown({}).then((res) => {
if (res.Code == 1) {
this.SchoolList = res.Data;
var obj = {
SName: "不限",
SId: -1,
};
this.SchoolList.unshift(obj);
}
});
}, },
//获取课程 components: {
getCourseList() { MoreQuery,
queryCourseDropdownList({}).then((res) => { StopLessonForm,
if (res.Code == 1) { transferclassForm,
var tempArray = res.Data; AddEventForm,
if (!tempArray) { classinfoForm,
tempArray = []; myOrderForm,
} list,
tempArray.unshift({ eventLog,
CourseId: 0,
CourseName: "不限",
});
this.CourseList = tempArray;
this.AllCourseList = tempArray;
}
});
}, },
// 筛选课程 data() {
filterCourse(val, update) { return {
update(() => { IsShowQuery: false,
if (val === "") { data: [],
this.CourseList = JSON.parse(JSON.stringify(this.AllCourseList)); loading: false,
} else { msg: {
const needle = val.toLowerCase(); pageIndex: 1,
this.CourseList = this.AllCourseList.filter( pageSize: 10,
(v) => v.CourseName.toLowerCase().indexOf(needle) > -1 rowsPerPage: 10,
); School_Id: '', //校区
} CourseId: 0, //课程
}); ClassId: 0, //班级
}, GuestName: "", //学生姓名
//获取班级 ClassNo: "", //班号
getClass() { OrderId: 0, //订单号
getClassDropDownList(this.queryClass).then((res) => { EnterID: 0, //业务员
this.classList = []; EffectStatus: "", //状态
this.msg.ClassId = 0; JoinType: 0, //类型
if (res.Code == 1) { EarlyWarning: 0, //预警
this.classList = res.Data; OrderTime: "", //下单时间
this.AllClassList = res.Data; EndOrderTime: "", //下单结束时间
var obj = { },
ClassName: "不限", pageCount: 0,
ClassId: 0, columns: [{
}; name: "Id",
this.classList.unshift(obj); label: "编号",
} field: "Id",
}); align: "left",
}, required: true,
//筛选班级 },
filterClass(val, update) { {
update(() => { name: "GuestName",
if (val === "") { label: "姓名",
this.classList = JSON.parse(JSON.stringify(this.AllClassList)); align: "left",
} else { field: "GuestName",
const needle = val.toLowerCase(); required: true,
this.classList = this.AllClassList.filter( },
(v) => v.ClassName.toLowerCase().indexOf(needle) > -1 {
); name: "Mobile",
} label: "电话",
}); align: "left",
}, field: "Mobile",
changeSchool(val) { },
this.queryClass.SchoolId = val; {
this.getClass(); name: "ContractNo",
this.resetSearch(); label: "合同编号",
align: "left",
field: "ContractNo",
},
{
name: "ClassName",
label: "班级",
align: "left",
field: "ClassName",
},
{
name: "CourseName",
label: "课程",
align: "left",
field: "CourseName",
},
{
name: "TeacherName",
label: "老师",
align: "left",
field: "TeacherName",
},
{
name: "OrderId",
label: "订单号",
align: "left",
field: "OrderId",
},
{
name: "OrderTime",
label: "报名时间",
align: "left",
field: "OrderTime",
},
{
name: "EnterName",
label: "业务员",
field: "EnterName",
align: "left",
},
{
name: "PreferPrice",
label: "应收金额",
field: "PreferPrice",
align: "left",
},
{
name: "Income",
label: "实收金额",
field: "Income",
align: "left",
},
{
name: "Refund",
label: "退款金额",
field: "Refund",
align: "left",
},
{
name: "TotalHours",
label: "课程总课时",
field: "TotalHours",
align: "left",
},
{
name: "ValidClassHours",
label: "有效课时",
field: "ValidClassHours",
align: "left",
},
{
name: "CompleteHours",
label: "消耗课时",
field: "CompleteHours",
align: "left",
},
{
name: "SurplusHours",
label: "剩余课时",
field: "SurplusHours",
align: "left",
},
{
name: "MakeUpHours",
label: "可补课课时",
field: "MakeUpHours",
align: "left",
},
{
name: "AbsenceNum",
label: "缺勤次数",
field: "AbsenceNum",
align: "left",
},
{
name: "LeaveNum",
label: "请假次数",
field: "LeaveNum",
align: "left",
},
{
name: "EventlogNum",
label: "事件记录",
field: "EventlogNum",
align: "left",
},
{
name: "GuestStateStr",
label: "状态",
field: "GuestStateStr",
align: "left",
},
{
name: "JoinTypeStr",
label: "类型",
field: "JoinTypeStr",
align: "left",
},
{
name: "optioned",
label: "操作",
required: true,
align: "left",
},
],
SchoolList: [],
CourseList: [],
AllCourseList: [],
classList: [],
AllClassList: [],
queryClass: {
CourseId: 0,
IsAddDefault: 1,
SchoolId: '',
Teacher_Id: 0,
MoreStatus: "1,2,3",
IsQuerySurplusPlan: 0,
},
typeEnum: [],
warnEnum: [],
queryNum: 0, //高级查询个数
isShowStopLesson: false,
stuObj: {}, //停课
isShowTransferClass: false, //是否显示转班
orderObj: {}, //转班
ChangeType: 1, //1-转班 2-分拆
isShowAddEvent: false, //是否显示添加事件
eventObj: {},
isShowClassInfo: false, //是否显示班级详情
isShowmyorderForm: false, //是否显示订单详情
isShowList: false, //是否显示可补课课时,缺勤次数,请假次数
showType: 1,
isShowEventLog: false, //是否显示事件记录
};
}, },
changeCourse(val) { mounted() {
this.queryClass.CourseId = val; this.getSchool();
this.getCourseList();
this.getClass(); this.getClass();
this.resetSearch(); this.getTypeEnum();
this.getEarlyWarningEnum();
this.getList();
}, },
getList() { methods: {
this.loading = true; //获取校区下拉
getStuList(this.msg) getSchool() {
.then((res) => { getSchoolDropdown({}).then((res) => {
this.loading = false; if (res.Code == 1) {
if (res.Code === 1) { this.SchoolList = res.Data;
this.data = res.Data.PageData;
this.pageCount = res.Data.PageCount;
} }
})
.catch((err) => {
this.loading = false;
}); });
}, },
//显示停课弹窗 //获取课程
ShowStopLesson(item) { getCourseList() {
this.isShowStopLesson = true; queryCourseDropdownList({}).then((res) => {
this.stuObj = item; if (res.Code == 1) {
}, var tempArray = res.Data;
if (!tempArray) {
tempArray = [];
}
tempArray.unshift({
CourseId: 0,
CourseName: "不限",
});
this.CourseList = tempArray;
this.AllCourseList = tempArray;
}
});
},
// 筛选课程
filterCourse(val, update) {
update(() => {
if (val === "") {
this.CourseList = JSON.parse(JSON.stringify(this.AllCourseList));
} else {
const needle = val.toLowerCase();
this.CourseList = this.AllCourseList.filter(
(v) => v.CourseName.toLowerCase().indexOf(needle) > -1
);
}
});
},
//获取班级
getClass() {
getClassDropDownList(this.queryClass).then((res) => {
this.classList = [];
this.msg.ClassId = 0;
if (res.Code == 1) {
this.classList = res.Data;
this.AllClassList = res.Data;
var obj = {
ClassName: "不限",
ClassId: 0,
};
this.classList.unshift(obj);
}
});
},
//筛选班级
filterClass(val, update) {
update(() => {
if (val === "") {
this.classList = JSON.parse(JSON.stringify(this.AllClassList));
} else {
const needle = val.toLowerCase();
this.classList = this.AllClassList.filter(
(v) => v.ClassName.toLowerCase().indexOf(needle) > -1
);
}
});
},
changeSchool(val) {
this.queryClass.SchoolId = val;
this.getClass();
this.resetSearch();
},
changeCourse(val) {
this.queryClass.CourseId = val;
this.getClass();
this.resetSearch();
},
getList() {
this.loading = true;
getStuList(this.msg)
.then((res) => {
this.loading = false;
if (res.Code === 1) {
this.data = res.Data.PageData;
this.pageCount = res.Data.PageCount;
}
})
.catch((err) => {
this.loading = false;
});
},
//显示停课弹窗
ShowStopLesson(item) {
this.isShowStopLesson = true;
this.stuObj = item;
},
// 高级查询 // 高级查询
morequery(val) { morequery(val) {
this.IsShowQuery = false; this.IsShowQuery = false;
this.queryNum = val.chooseNum; this.queryNum = val.chooseNum;
this.msg.ClassNo = val.ClassNo; this.msg.ClassNo = val.ClassNo;
this.msg.OrderId = val.OrderId; this.msg.OrderId = val.OrderId;
this.msg.EnterID = val.EnterID; this.msg.EnterID = val.EnterID;
this.msg.EffectStatus = val.EffectStatus; this.msg.EffectStatus = val.EffectStatus;
this.msg.JoinType = val.JoinType; this.msg.JoinType = val.JoinType;
this.msg.EarlyWarning = val.EarlyWarning; this.msg.EarlyWarning = val.EarlyWarning;
this.msg.OrderTime = val.OrderTime; this.msg.OrderTime = val.OrderTime;
this.msg.EndOrderTime = val.EndOrderTime; this.msg.EndOrderTime = val.EndOrderTime;
this.resetSearch(); this.resetSearch();
}, },
//重新查询 //重新查询
resetSearch() { resetSearch() {
this.msg.pageIndex = 1; this.msg.pageIndex = 1;
this.getList(); this.getList();
}, },
//翻页 //翻页
changePage(val) { changePage(val) {
this.msg.pageIndex = val; this.msg.pageIndex = val;
this.getList(); this.getList();
}, },
//关闭弹窗 //关闭弹窗
closeHandle() { closeHandle() {
this.IsShowQuery = false; this.IsShowQuery = false;
this.isShowStopLesson = false; this.isShowStopLesson = false;
this.isShowTransferClass = false; this.isShowTransferClass = false;
this.isShowAddEvent = false; this.isShowAddEvent = false;
this.isShowClassInfo = false; this.isShowClassInfo = false;
this.isShowmyorderForm = false; this.isShowmyorderForm = false;
this.isShowList = false; this.isShowList = false;
this.isShowEventLog = false; this.isShowEventLog = false;
this.isShowEventLog = false; this.isShowEventLog = false;
}, },
//刷新页面 //刷新页面
refreshPage() { refreshPage() {
this.closeHandle(); this.closeHandle();
this.getList(); this.getList();
}, },
goUrl(url, item) { goUrl(url, item) {
if (item) { if (item) {
this.$router.push({
path: url,
query: {
Id: item.Id,
},
});
} else {
this.$router.push({
path: url,
query: {
Id: 0,
},
});
}
},
goUrl1(url, item) {
this.$router.push({ this.$router.push({
path: url, path: url,
query: { query: {
Id: item.Id, Id: item.Id,
name: item.ActivityName,
}, },
}); });
} else { },
this.$router.push({ getTypeEnum() {
path: url, getTypeEnum({}).then((res) => {
query: { if (res.Code === 1) {
Id: 0, res.Data.unshift({
}, Name: "不限",
Id: 0,
});
this.typeEnum = res.Data;
}
}); });
} },
}, getEarlyWarningEnum() {
goUrl1(url, item) { getEarlyWarningEnum({}).then((res) => {
this.$router.push({ if (res.Code === 1) {
path: url, this.warnEnum = res.Data;
query: { }
Id: item.Id, });
name: item.ActivityName, },
}, //转班
}); transferClass(item, type) {
}, this.orderObj = item;
getTypeEnum() { this.ChangeType = type;
getTypeEnum({}).then((res) => { this.isShowTransferClass = true;
if (res.Code === 1) { },
res.Data.unshift({ //显示添加事件
Name: "不限", showAddEvent(item) {
Id: 0, let newitem = JSON.parse(JSON.stringify(item));
}); // Id和修改的Id冲突 自定义学生id=STUID
this.typeEnum = res.Data; newitem.STUID = newitem.Id;
} newitem.Id = 0;
}); this.eventObj = newitem;
}, this.isShowAddEvent = true;
getEarlyWarningEnum() { },
getEarlyWarningEnum({}).then((res) => { //查看合同
if (res.Code === 1) { seeContract(item) {
this.warnEnum = res.Data; this.OpenNewUrl("/contractView", {
} ContractId: item.ContractId
}); });
}, },
//转班 //查看课时消耗
transferClass(item, type) { seeStudentsClassUse(item) {
this.orderObj = item; let obj = {
this.ChangeType = type; StudentId: item.Id,
this.isShowTransferClass = true; TeacherId: item.Teacher_Id,
}, ClassId: item.ClassId,
//显示添加事件 };
showAddEvent(item) { this.OpenNewUrl("/teacher/studentsClassSee", obj);
let newitem = JSON.parse(JSON.stringify(item)); },
// Id和修改的Id冲突 自定义学生id=STUID //查看班级详情
newitem.STUID = newitem.Id; seeClassDetail(item) {
newitem.Id = 0; this.eventObj = item;
this.eventObj = newitem; this.isShowClassInfo = true;
this.isShowAddEvent = true; },
}, //查看订单详情
//查看合同 showOrderDetail(item, tab) {
seeContract(item) { item.tab = tab;
this.OpenNewUrl("/contractView", { ContractId: item.ContractId }); this.eventObj = item;
}, this.isShowmyorderForm = true;
//查看课时消耗 },
seeStudentsClassUse(item) { showList(item, type) {
let obj = { this.eventObj = item;
StudentId: item.Id, this.showType = type;
TeacherId: item.Teacher_Id, this.isShowList = true;
ClassId: item.ClassId, },
}; showEventLog(item) {
this.OpenNewUrl("/teacher/studentsClassSee", obj); this.eventObj = item;
}, this.isShowEventLog = true;
//查看班级详情 },
seeClassDetail(item) { // 修改事件
this.eventObj = item; modifyEvent(val) {
this.isShowClassInfo = true; this.closeHandle();
}, this.eventObj = val;
//查看订单详情 this.isShowAddEvent = true;
showOrderDetail(item, tab) { },
item.tab = tab;
this.eventObj = item;
this.isShowmyorderForm = true;
},
showList(item, type) {
this.eventObj = item;
this.showType = type;
this.isShowList = true;
},
showEventLog(item) {
this.eventObj = item;
this.isShowEventLog = true;
},
// 修改事件
modifyEvent(val) {
this.closeHandle();
this.eventObj = val;
this.isShowAddEvent = true;
}, },
}, };
};
</script> </script>
<style lang="sass"> <style lang="sass">
@import url('~assets/css/table.sass') @import url('~assets/css/table.sass')
</style> </style>
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