Commit cef33d89 authored by 罗超's avatar 罗超

1

parent 266a3907
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
"cos-js-sdk-v5": "^1.1.5", "cos-js-sdk-v5": "^1.1.5",
"echarts": "^5.1.2", "echarts": "^5.1.2",
"element-ui": "^2.14.1", "element-ui": "^2.14.1",
"html2canvas": "^1.0.0-rc.7", "html2canvas": "^1.0.0",
"js-md5": "^0.7.3", "js-md5": "^0.7.3",
"lockr": "^0.8.5", "lockr": "^0.8.5",
"lrz": "^4.9.41", "lrz": "^4.9.41",
......
@font-face{
font-family:'katongjian';
src:url('../../webfont/katongjian.ttf') format('truetype')
}
@font-face{
font-family:'YGYXSZITI';
src:url('../../webfont/YGYXSZITI2.0.ttf') format('truetype')
}
@font-face{
font-family:'FZYBXSJW';
src:url('../../webfont/FZYBXSJW.ttf') format('truetype')
}
@font-face{
font-family:'fzjzjt';
src:url('../../webfont/fzjzjt.ttf') format('truetype')
}
@font-face{
font-family:'fzmwt';
src:url('../../webfont/fzmwt.ttf') format('truetype')
}
@font-face{
font-family:'fztjlst';
src:url('../../webfont/fztjlst.ttf') format('truetype')
}
@font-face{
font-family:'hyhctj';
src:url('../../webfont/hyhctj.ttf') format('truetype')
}
@font-face{
font-family:'hyqytj';
src:url('../../webfont/hyqytj.ttf') format('truetype')
}
@font-face{
font-family:'hyyltj';
src:url('../../webfont/hyyltj.ttf') format('truetype')
}
@font-face{
font-family:'jlx';
src:url('../../webfont/jlx.ttf') format('truetype')
}
@font-face{
font-family:'sszhjt';
src:url('../../webfont/sszhjt.ttf') format('truetype')
}
@font-face{
font-family:'hybqt';
src:url('../../webfont/hybqt.ttf') format('truetype')
}
@font-face{
font-family:'hyhht';
src:url('../../webfont/hyhht.ttf') format('truetype')
}
@font-face{
font-family:'hylbt';
src:url('../../webfont/hylbt.ttf') format('truetype')
}
@font-face{
font-family:'hxlbjt';
src:url('../../webfont/hxlbjt.ttf') format('truetype')
}
@font-face{
font-family:'hywwzj';
src:url('../../webfont/hywwzj.ttf') format('truetype')
}
@font-face{
font-family:'pingfang';
src:url('../../webfont/pingfang.ttf') format('truetype')
}
.adv-box{
box-sizing: border-box;
position: absolute;
/* overflow-y: auto; */
padding-bottom: 15px;
top:0px;
left: 20px;
right: 0;
bottom: 0;
background: #f1f1f1;
}
.adv-box .board{
width: 470px;
position: absolute;
left: 0px;
z-index: 98;
top: 0px;
-webkit-user-select: none !important;
overflow: hidden;
}
.adv-box .board .bg{
width:470px;
z-index: 99;
-webkit-user-drag: none;
}
.adv-box .board .vdr .text{
width:100%;
height:100%;
cursor: move;
overflow: hidden;
white-space: pre-line;
}
.adv-box .board .vdr .img{
max-width:100%;
max-height:100%;
/* width:100%;
height:100%; */
cursor: move;
-webkit-user-drag:none;
}
.adv-box .board .vdr.active{
background:rgba(0,0,0,.3)
}
.adv-box .tools{
width: 32px;
position: absolute;
left: 480px;
top: 0px;
}
.adv-box .tools li{
height: 21px;
width: 32px;
text-align: center;
background: #e5e5e5;
cursor: pointer;
border-radius: 2px;
margin-bottom: 12px;
line-height: 21px;
}
.adv-box .tools li:hover{
background: #d8d8d8 !important
}
.adv-box .tools li.save{
color: #fff;
background: #4d90fe;
}
.adv-box .tools li.save:hover{
background: #0362fd !important;
}
.adv-box .tools li.down{
color: #fff;
background: #35aa47;
}
.adv-box .tools li.down:hover{
background: #1d943b !important;
}
.adv-box .tools li.return{
color: #fff;
background: #d84a38;
}
.adv-box .tools li.return:hover{
background: #bb2413 !important;
}
.adv-box .tools li.source{
color: #fff;
background: #fc5c65;
}
.adv-box .tools li.source:hover{
background: #fc5c65 !important;
}
.adv-box .tools li i{
font-size: 16px;
color: #333;
}
.adv-box .tools li.save,.adv-box .tools li.down,.adv-box .tools li.return,.adv-box .tools li.source {
color: #f0f0f0;
font-size: 12px;
}
.adv-box .property-box{
position: absolute;
left: 560px;
top: 0px;
width: 640px;
right: 10px;
overflow: hidden;
}
.adv-box .property-box label{
font-size: 12px;
}
.adv-box .property-box label.remark{
color: #999;
}
.adv-box .property-box .el-button{
padding:5px;
}
.adv-box .resorece{
position: absolute;
left: 560px;
top: 0px;
width: 120px;
height: 120px;
}
.adv-box .resorece img{
}
.adv-box .max-resource{
width: 470px;
}
.adv-box .el-textarea__inner{
width: 290px;
}
.adv-box .el-slider{
width: 290px;
padding-left: 9px;
}
.adv-box::-webkit-scrollbar{
width: 4px;
height: 8px;
}
.adv-box::-webkit-scrollbar-thumb {
border-radius: 4px;
-webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2);
background: #c9c9c9;
}
.adv-box::-webkit-scrollbar-thumb {
-webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2);
border-radius: 4px;
background: #EDEDED;
}
.adv-box .el-input-group__append,.adv-box .el-input-group__prepend{
padding: 0 4px;
border-radius: 0px;
}
.adv-box .el-color-picker__trigger,.adv-box .el-color-picker__color{
border-radius: 0px;
}
.adv-box .el-color-picker__trigger {
height: 34px;
width: 34px;
margin-top: 4px;
}
.adv-box .advmanager-box .content {
top: 80px;
left: 0px;
}
.adv-box .goon{
position: fixed;
background: rgba(235, 59, 90, .8);
font-family: 'PingFangSC-fine';
font-size: 14px;
width: 50px;
height: 50px;
border-radius: 100%;
color: #f1f1f1;
right: 10px;
text-align: center;
line-height: 50px;
top:220px;
cursor: pointer;
}
.adv-box .el-input--mini .el-input__inner{
line-height: normal;
}
.adv-box .el-input-number{
vertical-align: top;
}
\ No newline at end of file
...@@ -322,25 +322,6 @@ ...@@ -322,25 +322,6 @@
.advmanager-box .query-box ul .el-select.w240 .el-input{width: auto;} .advmanager-box .query-box ul .el-select.w240 .el-input{width: auto;}
.isAssociatTeam{width:600px;} .isAssociatTeam{width:600px;}
.isAssociatTeam .el-switch{margin:20px 0 0 190px;} .isAssociatTeam .el-switch{margin:20px 0 0 190px;}
.adv-box .tools li { .adv-box .tools{
height: 21px; padding-left: 40px;
width: 32px;
text-align: center;
background: #e5e5e5;
cursor: pointer;
border-radius: 2px;
margin-bottom: 12px;
line-height: 21px;
}
.adv-box .tools li.source {
color: #fff;
background: #fc5c65;
}
.adv-box .tools li.save {
color: #fff;
background: #4d90fe;
} }
.adv-box .tools li.down {
color: #fff;
background: #35aa47;
}
\ No newline at end of file
This diff is collapsed.
...@@ -18,53 +18,65 @@ ...@@ -18,53 +18,65 @@
font-weight: bold; font-weight: bold;
cursor: pointer; cursor: pointer;
} }
.sche_rightTop{
.sche_rightTop {
width: 100%; width: 100%;
padding: 20px 0; padding: 20px 0;
background-color: #fff; background-color: #fff;
position: relative; position: relative;
} }
.Scotop_little{
white-space: nowrap;
}
.Scotop_con{
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
</style> </style>
<template> <template>
<div class="sche_rightTop"> <div class="sche_rightTop">
<!-- <div v-if="dataList.Status!=2" class="sche_Topflex" style="display:flex;"> <table style="margin:0 20px;font-size:18px;color:#000000;">
<div class="Sctop_Color Scdu_benci" style="position:relative;">本次上课信息</div>
<div class="Sctop_Color">
<span class="Scotop_little">校区</span>{{dataList.SchoolName}}
</div>
<div class="Sctop_Color" style="width:33%;">
<span class="Scotop_little">计划时间</span>
<span v-if="dataList.PlanDate">{{dataList.PlanDate.replaceAll('-','.')}}</span>
<span v-if="dataList.WeekDay"> {{dataList.WeekDay.replace('星期','周')}}</span>
{{dataList.StartTime}}-{{dataList.EndTime}}
</div>
<div class="Sctop_Color" style="width:15%">
<span class="Scotop_little">课程名称</span>{{dataList.ShiftName}}
</div>
</div> -->
<!-- <div class="Sctop_Last">
<div @click="isShowJiedai=true"><i style="margin-right:5px;" class="iconfont icon-liuchengguanliqi"></i>接待流程
</div>
</div> -->
<table style="width:100%;margin:0 20px;font-size:18px;color:#000000;">
<tr> <tr>
<td style="width:11%"> <td style="width:20%">
<span class="Sch_MainColor">本次上课信息</span> <span class="Sch_MainColor Scotop_con" >本次上课信息</span>
</td> </td>
<td style="width:15%"> <td style="width:25%;">
<span class="Scotop_little">班级:</span>{{dataList.ClassName}} <div style="display:flex;">
<div class="Scotop_little">
班级:
</div>
<span class="Scotop_con">{{dataList.ClassName}}</span>
</div>
</td> </td>
<td style="width:15%;"> <td style="width:25%;">
<span class="Scotop_little">计划时间:</span>{{dataList.PlanTime}} <div style="display:flex;padding-left:20px;">
<div class="Scotop_little">
计划时间:
</div>
<span class="Scotop_con">{{dataList.PlanTime}}</span>
</div>
</td> </td>
<td style="width:23%;"> <td style="width:25%;">
<span class="Scotop_little">课程名称:</span>{{dataList.CourseName}} <div style="display:flex;padding-left:20px;">
<div class="Scotop_little">
课程名称:
</div>
<span class="Scotop_con">{{dataList.CourseName}}</span>
</div>
</td> </td>
<td> <td style="width:20%;">
<span class="Scotop_little">当前状态:</span> <div style="display:flex;padding-left:20px;">
<span v-if="dataList.ClassStatus===0">待上课</span> <div class="Scotop_little">
<span v-if="dataList.ClassStatus===1">上课中</span> 当前状态:
<span v-if="dataList.ClassStatus===2">下课</span> </div>
<span v-if="dataList.ClassStatus===0" class="Scotop_con">待上课</span>
<span v-if="dataList.ClassStatus===1" class="Scotop_con">上课中</span>
<span v-if="dataList.ClassStatus===2" class="Scotop_con">下课</span>
</div>
</td> </td>
</tr> </tr>
<tr> <tr>
...@@ -73,14 +85,18 @@ ...@@ -73,14 +85,18 @@
<span class="Scotop_little">老师:</span>{{dataList.TeacherName}} <span class="Scotop_little">老师:</span>{{dataList.TeacherName}}
</td> </td>
<td> <td>
<span class="Scotop_little">实际时间:</span>{{dataList.ActualTime}} <div style="padding-left:20px;">
<span class="Scotop_little" >实际时间:</span>{{dataList.ActualTime}}
</div>
</td> </td>
<td> <td>
<span class="Scotop_little">出勤人数:</span>{{dataList.AttendanceNum}} <div style="padding-left:20px;">
<span class="Scotop_little">出勤人数:</span>{{dataList.AttendanceNum}}
</div>
</td> </td>
</tr> </tr>
</table> </table>
</div> </div>
</template> </template>
<script> <script>
...@@ -91,6 +107,13 @@ ...@@ -91,6 +107,13 @@
default: null default: null
}, },
}, },
watch: {
dataList: {
handler(val) {
console.log(78, val)
}
}
}
} }
</script> </script>
...@@ -82,6 +82,8 @@ ...@@ -82,6 +82,8 @@
</template> </template>
<template v-slot:body-cell-TeacherId="props"> <template v-slot:body-cell-TeacherId="props">
<q-td :props="props"> <q-td :props="props">
<q-btn flat size="xs" color="accent" @click="goUrl(props.row)" style="font-weight:400"
label="学员名单" />
<q-btn flat size="xs" icon="edit" color="accent" @click="editVisitor(props.row)" style="font-weight:400" <q-btn flat size="xs" icon="edit" color="accent" @click="editVisitor(props.row)" style="font-weight:400"
label="修改" /> label="修改" />
<q-btn flat size="xs" icon="delete" @click="deleteReserve(props.row)" color="negative" style="font-weight:400" <q-btn flat size="xs" icon="delete" @click="deleteReserve(props.row)" color="negative" style="font-weight:400"
...@@ -283,6 +285,16 @@ ...@@ -283,6 +285,16 @@
//刷新页面 //刷新页面
refreshPage() { refreshPage() {
this.getList(); this.getList();
},
goUrl(i) {
let path="/teacher/studentsClassSee"
let queryObj={
StudentId: i.Id,
TeacherId: i.Teacher_Id,
ClassId: i.ClassId
}
this.OpenNewUrl(path, queryObj)
} }
} }
} }
......
...@@ -93,6 +93,12 @@ ...@@ -93,6 +93,12 @@
required: true, required: true,
field: 'Name', field: 'Name',
align: 'left' align: 'left'
},
{
name: 'Age',
field: 'Age',
label: '年龄',
align: 'left',
}, },
{ {
name: 'Tel', name: 'Tel',
......
...@@ -31,12 +31,13 @@ ...@@ -31,12 +31,13 @@
<div class="page-search row items-center"> <div class="page-search row items-center">
<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-input @change="refreshPage" clearable standout="bg-primary text-white" v-model="msg.GuestName" <q-input @change="refreshPage" clearable standout="bg-primary text-white" v-model="msg.GuestName" label="学员名称"
label="学员名称" @clear="refreshPage" maxlength="20" /> @clear="refreshPage" maxlength="20" />
</div> </div>
<div class="col-3"> <div class="col-3">
<q-select @input="refreshPage" standout="bg-primary text-white" option-value="ClassId" option-label="ClassName" <q-select @input="refreshPage" standout="bg-primary text-white" option-value="ClassId"
v-model="msg.ClassId" :options="ClassList" emit-value map-options label="班级" use-input clearable @filter="filterClass"/> option-label="ClassName" v-model="msg.ClassId" :options="ClassList" emit-value map-options label="班级"
use-input clearable @filter="filterClass" />
</div> </div>
<div class="col-3"> <div class="col-3">
<q-select @input="refreshPage" standout="bg-primary text-white" option-value="CourseId" <q-select @input="refreshPage" standout="bg-primary text-white" option-value="CourseId"
...@@ -92,9 +93,10 @@ ...@@ -92,9 +93,10 @@
</template> </template>
<template v-slot:body-cell-optioned="props"> <template v-slot:body-cell-optioned="props">
<q-td :props="props"> <q-td :props="props">
<!-- <q-btn flat size="xs" color="accent" style="font-weight:400" label="停课" <!-- <q-btn flat size="xs" color="accent" style="font-weight:400" label="停课"
@click="" /> --> @click="" /> -->
<q-btn-dropdown flat size="xs" color="dark" label="更多" style="margin-left:10px;"> <q-btn flat size="xs" color="accent" style="font-weight:400" label="课耗明细" @click="goUrl(props.row)" />
<!-- <q-btn-dropdown flat size="xs" color="dark" label="更多" style="margin-left:10px;">
<q-list> <q-list>
<q-item clickable v-close-popup @click="goUrl(props.row)"> <q-item clickable v-close-popup @click="goUrl(props.row)">
<q-item-section> <q-item-section>
...@@ -102,11 +104,11 @@ ...@@ -102,11 +104,11 @@
</q-item-section> </q-item-section>
</q-item> </q-item>
</q-list> </q-list>
</q-btn-dropdown> </q-btn-dropdown> -->
</q-td> </q-td>
</template> </template>
</q-table> </q-table>
</div> </div>
</div> </div>
</template> </template>
...@@ -122,7 +124,7 @@ ...@@ -122,7 +124,7 @@
} from '../../api/users/user' //获取销售下拉列表 } from '../../api/users/user' //获取销售下拉列表
import { import {
queryCourseDropdownList, queryCourseDropdownList,
} from '../../api/course/index'//课程下拉 } from '../../api/course/index' //课程下拉
import { import {
GetStuPageList GetStuPageList
} from "../../api/teacher/student" } from "../../api/teacher/student"
...@@ -140,20 +142,19 @@ ...@@ -140,20 +142,19 @@
}, },
data() { data() {
return { return {
columns: [ columns: [{
{
name: 'GuestName', name: 'GuestName',
label: '学员名称', label: '学员名称',
field: 'GuestName', field: 'GuestName',
align: 'left', align: 'left',
}, },
{ {
name: 'Mobile', name: 'Mobile',
label: '电话', label: '电话',
field: 'Mobile', field: 'Mobile',
align: 'left' align: 'left'
}, },
{ {
name: 'ClassName', name: 'ClassName',
label: '班级名称', label: '班级名称',
field: 'ClassName', field: 'ClassName',
...@@ -165,26 +166,32 @@ ...@@ -165,26 +166,32 @@
field: 'CourseName', field: 'CourseName',
align: 'left' align: 'left'
}, },
{ {
name: 'TotalPlanNum', name: 'TotalPlanNum',
label: '课程进度', label: '课程进度',
field: 'TotalPlanNum', field: 'TotalPlanNum',
align: 'left' align: 'left'
}, },
{ {
name: 'IsRenewOrder', name: 'IsRenewOrder',
label: '是否是续课订单', label: '是否是续课订单',
field: 'IsRenewOrder', field: 'IsRenewOrder',
align: 'left' align: 'left'
}, },
{ {
name: 'RenewOrderId',
label: '订单号',
field: 'RenewOrderId',
align: 'left'
},
{
name: 'GuestStateStr', name: 'GuestStateStr',
label: '学员状态', label: '学员状态',
field: 'GuestStateStr', field: 'GuestStateStr',
align: 'left' align: 'left'
}, },
{ {
name: 'EnterName', name: 'EnterName',
label: '销售', label: '销售',
field: 'EnterName', field: 'EnterName',
...@@ -289,7 +296,7 @@ ...@@ -289,7 +296,7 @@
}) })
}, },
//获取班级下拉 //获取班级下拉
getClass() { getClass() {
getClassDropDownList({ getClassDropDownList({
CourseId: 0, CourseId: 0,
IsAddDefault: 0, //添加默认选项 IsAddDefault: 0, //添加默认选项
...@@ -319,43 +326,47 @@ ...@@ -319,43 +326,47 @@
}) })
}, },
//获取学员管理列表 //获取学员管理列表
getStuPageList(){ getStuPageList() {
this.loading = true; this.loading = true;
GetStuPageList(this.msg).then(res=>{ GetStuPageList(this.msg).then(res => {
this.loading = false this.loading = false
console.log(439,res) console.log(439, res)
if(res.Code===1){ if (res.Code === 1) {
this.data=res.Data.PageData this.data = res.Data.PageData
this.pageCount=res.Data.PageCount this.pageCount = res.Data.PageCount
} }
}).catch(err=>{ }).catch(err => {
this.loading = false this.loading = false
}) })
}, },
//翻页 //翻页
changePage(val) { changePage(val) {
this.msg.pageIndex = val; this.msg.pageIndex = val;
this.getStuPageList() this.getStuPageList()
}, },
//刷新页面 //刷新页面
refreshPage() { refreshPage() {
this.msg.pageIndex = 1; this.msg.pageIndex = 1;
this.getStuPageList(); this.getStuPageList();
}, },
goUrl(i){ goUrl(i) {
console.log(134,i) let path="/teacher/studentsClassSee"
this.$router.push({ let queryObj={
path:"/teacher/studentsClassSee", StudentId: i.Id,
query:{ TeacherId: i.Teacher_Id,
StudentId:i.Id, ClassId: i.ClassId
// StudentName:i.GuestName, }
// SchoolId:i.School_Id, this.OpenNewUrl(path, queryObj)
TeacherId:i.Teacher_Id, // this.$router.push({
ClassId:i.ClassId // path: "/teacher/studentsClassSee",
} // query: {
}) // StudentId: i.Id,
// TeacherId: i.Teacher_Id,
// ClassId: i.ClassId
// }
// })
} }
} }
} }
...@@ -363,5 +374,4 @@ ...@@ -363,5 +374,4 @@
</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