董佳音

管理员首页界面

... ... @@ -556,10 +556,10 @@ body{
padding:5px 0;
}
.teacherDetailInfoRight{
width: 700px;
width: 720px;
height:194px;
background: #fff;
margin-left:40px;
margin-left:20px;
float: left;
padding:30px;
}
... ... @@ -580,6 +580,9 @@ body{
margin-top:65px;
cursor: pointer;
}
.btnHover:hover{
background: #58afed;
}
.teacherDetailReferralTitle{
font-size: 16px;
color: #333333;
... ... @@ -596,7 +599,7 @@ body{
background: #fff;
}
.teacherDetailContentUl{
padding:40px 30px 30px 30px;
padding:20px 30px 30px 30px;
border-bottom: 1px solid #ccc;
}
.teacherDetailBasics{
... ... @@ -761,6 +764,7 @@ body{
font-size: 12px;
color: #333333;
border-bottom:1px solid #e6e6e6;
line-height: 42px;
}
.classHandlePort{
margin: 0 3px;
... ... @@ -786,6 +790,10 @@ body{
color: #333333;
cursor: pointer;
}
.classHandlerPageInfo:checked{
background: #3498db;
color:#fff;
}
.classHandlerPageInfoCheck{
background: #3498db;
color:#fff;
... ... @@ -1156,6 +1164,7 @@ body{
border-radius: 2px;
border:1px solid #e6e6e6;
font-size: 12px;
position: relative;
}
.userVerifyLi{
width: 157px;
... ... @@ -1287,6 +1296,14 @@ body{
font-size: 36px;
text-align: center;
}
.errorTit{
width: 100%;
position: absolute;
left: 0;
bottom: -28px;
text-align: center;
color:#d95136;
}
.openidOauthTit{
width: 42px;
text-align: center;
... ...
... ... @@ -191,7 +191,7 @@
授课内容授课内容授课内容授课内容授课内容授课内容授课内容授课内容授课内容授课内容授课内容授课内容
</p>
</div>
<button class="teacherDetailOrderBtn" id="orderBtn">我要预约</button>
<button class="teacherDetailOrderBtn btnHover" id="orderBtn">我要预约</button>
</div>
</div>
<div class="teacherDetailContent">
... ... @@ -297,7 +297,7 @@
<div class="liveInfoCenterLiveCase" id="liveInfoCenterLiveEnd"></div>
</div>
</div>
<div class="classManagementRightContent">
<div class="classManagementRightContent" id="courseContent">
<table width="100%" align="center" cellpadding="0" cellspacing="0" border="0" id="t_box" class="t_box">
<tbody>
<tr align="center" height="44" class="tr_center" bgcolor="#fff" bordercolor="#e6e6e6">
... ... @@ -351,7 +351,6 @@
<a class="classHandlePort" href="">加入课堂</a>
</td>
</tr>
</tbody>
</table>
... ... @@ -361,22 +360,22 @@
<tbody>
<tr>
<td height="60" colspan="11" class="tr_bottom" style="">
<span class="classHandlerPageMsg" style="line-height: 38px; padding-left: 20px; float: left">第1页/共2页,有16个记录</span>
<span class="classHandlerPageMsg" id="classHandlerPageMsg" style="line-height: 38px; padding-left: 20px; float: left">第1页/共2页,有16个记录</span>
<ul class="classHandlerPageInfoBox">
<li class="classHandlerPageInfo">
<span id="classHandlerHomePage">首页</span>
<span id="classHandlerHomePage" id="classHandlerHomePage">首页</span>
</li>
<li class="classHandlerPageInfo">
<span id="classHandlerUpPage">上一页</span>
<span id="classHandlerUpPage" id="classHandlerUpPage">上一页</span>
</li>
<li class="classHandlerPageInfo">
<span id="classHandlerDownPage">下一页</span>
<span id="classHandlerDownPage" id="classHandlerDownPage">下一页</span>
</li>
<li class="classHandlerPageInfo">
<span id="classHandlerEndPage">尾页</span>
<span id="classHandlerEndPage" id="classHandlerEndPage">尾页</span>
</li>
<li class="classHandlerPageInfo">
<input class="classHandlerPageInfoInput" type="text">
<input id="classHandlerPageInfoInput" class="classHandlerPageInfoInput" type="text">
</li>
<li class="classHandlerPageInfo classHandlerPageInfoCheck">
<span id="classHandlerSpecificPage">GO</span>
... ... @@ -513,7 +512,7 @@
</div>
</div>
<div class="form_button">
<input id="createClassSubmit1" page-index="1" type="button" value="下一步" class="createClassBtn createClassConfirm">
<input id="createClassSubmit1" page-index="1" type="button" value="下一步" class="createClassBtn createClassConfirm btnHover">
<span class="createClassBtn main_closeBtn">取消</span>
</div>
</div>
... ... @@ -779,8 +778,8 @@
</div>
</div>
<div class="form_button form_button2">
<input id="createClassUpOne" page-index="0" type="button" value="上一步" class="createClassBtn createClassConfirm createClassBtnUp">
<input id="createClassSubmit2" page-index="2" type="button" value="下一步" class="createClassBtn createClassConfirm">
<input id="createClassUpOne" page-index="0" type="button" value="上一步" class="createClassBtn createClassConfirm createClassBtnUp btnHover">
<input id="createClassSubmit2" page-index="2" type="button" value="下一步" class="createClassBtn createClassConfirm btnHover">
<span class="createClassBtn main_closeBtn">取消</span>
</div>
</div>
... ... @@ -963,8 +962,8 @@
</div>
</div>
<div class="form_button">
<input id="createClassUpTwo" page-index="1" type="button" value="上一步" class="createClassBtn createClassConfirm">
<input id="createClassSubmit3" page-index="3" type="button" value="完成" class="createClassBtn createClassConfirm">
<input id="createClassUpTwo" page-index="1" type="button" value="上一步" class="createClassBtn createClassConfirm btnHover">
<input id="createClassSubmit3" page-index="3" type="button" value="完成" class="createClassBtn createClassConfirm btnHover">
</div>
</div>
</div>
... ... @@ -1019,7 +1018,7 @@
<li class="userVerifyLi usersignLi">
<input id="securityCode" class="userVerifyLiInput usersignInput" type="text" placeholder="验证码" maxlength="5"
onkeyup="this.value=this.value.replace(/^ +| +$/g,'')">
<button class="userVerifyLiInputBtn">发送验证码</button>
<button class="userVerifyLiInputBtn btnHover">发送验证码</button>
</li>
<li class="permitSign usersignLi">
<input id="permitSign" class="permitSignIcon" type="checkbox">
... ... @@ -1027,7 +1026,7 @@
<span class="permitSignMsg">我已阅读并接受用户协议</span>
</li>
<li class="btnUsersignLi usersignLi">
<button id="signBtn" class="btnUsersign">注册</button>
<button id="signBtn" class="btnUsersign btnHover">注册</button>
</li>
<p class="loginBtnBox">
<span>已有账号,去</span>
... ... @@ -1054,8 +1053,10 @@
忘记密码
</p>
<li class="btnUsersignLi usersignLi">
<button class="btnUsersign" id="userLoginBtn">提交</button>
<button class="btnUsersign btnHover" id="userLoginBtn">提交</button>
<p class="errorTit" id="errorTit"></p>
</li>
<p class="forgetPasswordBtn nowSignBtn" id="nowUserSign">
新用户注册
</p>
... ... @@ -1084,7 +1085,7 @@
确定删除吗?
</div>
<div class="removeHandlerBtn">
<button class="removeConfirm" id="removeConfirm">确定</button>
<button class="removeConfirm btnHover" id="removeConfirm">确定</button>
<button class="removeCancel" id="removeCancel">取消</button>
</div>
</div>
... ...
//*
// 管理员界面
// */
import Loger from "../Loger";
import Ape from "./Ape";
import xdysdk from "libs/xdysdk";
import DrawTool from "./DrawTool";
import LaserPen from "./LaserPen";
import $ from "jquery";
import ClassDataProxy from "proxy/ClassDataProxy";
let loger = Loger.getLoger('PC-AdministratorApe');
const adminListTit = `<table width="100%" align="center" cellpadding="0" cellspacing="0" border="0" id="t_box" class="t_box">
<tbody>
<tr align="center" height="44" class="tr_center" bgcolor="#fff" bordercolor="#e6e6e6">
<th width="10%" class="tr_center">
课堂主题
</th>
<th width="9%" class="tr_center">
课堂号
</th>
<th width="8%" class="tr_center">
老师
</th>
<th width="6%" class="tr_center">
课堂状态
</th>
<th width="20%" class="tr_center">
课堂时间
</th>
<th width="6%" class="tr_center">
在线人数
</th>
<th width="22%" class="tr_center">
操作
</th>
</tr>
`;
//管理首页
const adminList = `<tr align="center" bgcolor="#FFFFFF" height="44" bordercolor="#e6e6e6">
<td width="9%" class="tr_main">{_meetingName}</td>
<td width="8%" class="tr_main">{_esenglish}</td>
<td width="8%" class="tr_main">{_userName}</td>
<td width="6%" class="tr_main">{_stateInfo}</td>
<td width="18%" class="tr_main">{_time}</td>
<td width="4%" class="tr_main">{_onlineLen}</td>
<td width="22%" class="tr_main tr_mainRight" align="center" >
<a id="{_DocInd}" class="classHandlePort" href="#">文档</a>
<a id="{_mediaInd}" class="classHandlePort" href="">多媒体</a>
<a id="{_musicInd}" class="classHandlePort" href="">伴音</a>
<a id="{_updateInd}" class="classHandlePort" href="">修改</a>
<a id="{_removeInd}" class="classHandlePort" href="">删除</a>
<a id="{_joinInd}" class="classHandlePort" href="">加入课堂</a>
</td>
</tr>
`;
const adminListEnd = `</tbody></table>`;
class AdministratorApe extends Ape {
constructor() {
super();
this.classDateList = {};//课堂的所有数据
this.addEvent();
this.init();
}
init() {
this.detailPage();
$('#collectYes').hide();
$('#classHandlerHomePage').on('click',this._homePageHandler.bind(this));//首页
$('#classHandlerUpPage').on('click',this._upPageHandler.bind(this));//上页
$('#classHandlerDownPage').on('click',this._downPageHandler.bind(this));//下页
$('#classHandlerEndPage').on('click',this._endPageHandler.bind(this));//尾页
$('#classHandlerSpecificPage').on('click',this._assignPageHandler.bind(this));//指定页
}
addEvent() {
}
//首页
_homePageHandler(){
}
//上页
_upPageHandler(){
}
//下页
_downPageHandler(){
}
//尾页
_endPageHandler(){
}
//指定页
_assignPageHandler(){
let inputVal = $('#classHandlerPageInfoInput').val();
if(parseInt){
}
}
//点击翻页
_pageNumBtnHandler(evt){
let _url = ClassDataProxy.locationProtocol + ClassDataProxy.locationProt + '/meeting/getMeeting';
let _ele = $(evt.target);
let that = this;
if(_ele.siblings().length > 1 ){
// _ele.addClass('pageNumBtnCheck').siblings().removeClass('pageNumBtnCheck');
$.ajax({
type: "POST",
url: _url,
headers: {'page':_ele.text(),
siteId:'markettest',
'token':'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IlhXQnJlRU00T0swYTVqUUIyUTFicGtObHlxOUFWbXZkIiwibmFtZSI6ImFkbWluIiwiY29kZSI6MSwiaWF0IjoxNTAzNDUxODU0LCJleHAiOjIyODEwNTE4NTR9.3kTVzKd_jbP7l69nxOpNaFeSjVnnjZkagYMzRB8fjNo',
},
success:function(_data){
if(_data != 200 ){
// loger.warn(_data.data.msg)
}
that.classDateList = _data.returnData.data;
//切换列表内容
that._classDateContent(that.classDateList);
loger.log(_data,'成功')
},
error:function(error){
console.log(error,'失败')
}
})
}else{
return;
}
}
detailPage(){
let _url = ClassDataProxy.locationProtocol + ClassDataProxy.locationProt + '/meeting/getMeeting';
let that = this;
$.ajax({
type: "POST",
url: _url,
data:{siteId:'markettest'},
headers: {siteId:'markettest',
type:8,
'token':'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IlhXQnJlRU00T0swYTVqUUIyUTFicGtObHlxOUFWbXZkIiwibmFtZSI6ImFkbWluIiwiY29kZSI6MSwiaWF0IjoxNTAzNDUxODU0LCJleHAiOjIyODEwNTE4NTR9.3kTVzKd_jbP7l69nxOpNaFeSjVnnjZkagYMzRB8fjNo'},
success:function(_data){
if(_data || _data.code == 200){
that._gainClassData(_data.returnData.data);
}
},
error:function(error){
console.log(error,'失败')
}
})
}
_classDateTitle(){
$('#classifyListTitle').html($('.header_listMsgCheck').attr('data'));
}
_gainClassData(_data){
let courseContent = $('#courseContent');
courseContent.empty();
let count = _data.count;
let page = _data.page;
let pageno = _data.pageno;
let _dataList = _data.meetingInfo;
$('#classHandlerPageMsg').html('第'+page+'页/共'+pageno+'页,有'+count+'个记录');
courseContent.append(adminListTit);
if(_dataList){
if(_dataList.length <= 1){
$('#classHandlerPageBox').hide();
}
for(let i = 0;i<_dataList.length;i++){
let _adminList = this._format(adminList,{
_meetingName : _dataList[i].meetingName,
_esenglish : _dataList[i].meetingNumber,
_userName : _dataList[i].create_user,
_stateInfo : '准备',
_time: _dataList[i].beginTime+' - '+_dataList[i].endTime,
_onlineLen : '0',
_DocInd : 'classDoc'+i,
_mediaInd : 'classMedia'+i,
_musicInd : 'classMusic'+i,
_updateInd : 'classUpdate'+i,
_removeInd : 'classRemove'+i,
_joinInd : 'classJoin'+i
})
courseContent.append(_adminList);
}
courseContent.append(adminListEnd);
}
}
_classDatepageNum(_data){ //page
let _pageContent = _data.count;
let _pageNum = Math.ceil(_pageContent / _data.pageno);
this.pagingConstruct(1,_pageNum);
}
pagingConstruct(paging,total){
let classifyListBox = $('#classifyListBox');
$('.pageNumContentBox').remove();
let pagingDivInnerHTML = '<div class="pageNumContentBox"><div class="pageNumContent">';
let isHiddenExist = 0;
for(let i =1 ;i<=total;i++){
if(i == paging){
pagingDivInnerHTML +='<span class="pageNumBtn pageNumBtnCheck">'+i+'</span>';
}else{
if (i < 4 || i < (paging + 4) && i > (paging - 2) && i < (total / 2 + 2) || i > (total - 2)) {
pagingDivInnerHTML +='<span class="pageNumBtn">'+i+'</span>';
isHiddenExist = 0;
}else{
if(isHiddenExist == 0){
pagingDivInnerHTML += '<span class="pageNumBtn">...</span>';
isHiddenExist = 1;
}
}
}
}
pagingDivInnerHTML += '</div></div>';
classifyListBox.append(pagingDivInnerHTML);
}
//工具类
_format(str, obj) {
return str.replace(/\{(\w+)\}/g, function (match, group, index) {
return obj[group];
});
};
}
export default AdministratorApe;
\ No newline at end of file
... ...
... ... @@ -69,7 +69,7 @@ class HomeApe extends Ape {
// loger.log(_data,'成功')
//获取课堂数据
if(_data || _data.code == 200){
that._gainClassData(_data);
that._gainClassData(_data.returnData.data);
}
},
error:function(error){
... ... @@ -78,10 +78,6 @@ class HomeApe extends Ape {
})
}
_gainClassData(_data){
//切换列表内容
this._classDateContent(_data.returnData.data);
}
_classDateContent(_data){
let liveList = $('#liveList');
let lanclassList = $('#lanclassList');
let teacherIntro = $('#teacherIntro');
... ...
... ... @@ -211,6 +211,7 @@ class LoginOrRegister extends Ape {
}
//登录信息提交
_loginBtnHandler(){
loger.log('登录信息提交')
let _name = document.getElementById("loginName");//用户名
let _passWord = document.getElementById("loginPassWord");//手机号
if(_name.value && _passWord.value){
... ... @@ -227,10 +228,12 @@ class LoginOrRegister extends Ape {
data: signInfo,
success:function(_data){
loger.log('登录信息返回信息',_data)
that.successLogin(_data);
window.localStorage.setItem("loginName",_name.value);
window.localStorage.setItem("password", _passWord.value);
window.localStorage.setItem("token",_data.returnData.data.token);
if(_data || _data.code == 200){
that.successLogin(_data);
window.localStorage.setItem("loginName",_name.value);
window.localStorage.setItem("password", _passWord.value);
window.localStorage.setItem("token",_data.returnData.data.token);
}
},
error:function(error){
debugger;
... ...
... ... @@ -27,8 +27,8 @@ class Slideshow extends Ape {
this.slideImg();
this._imgReload();
$(".slidesImg").on('load', this._onLoadImage.bind(this));
$('#dots li').on('mouseenter',this._mouseenterHandler.bind(this));
$('#dots li').on('mouseleave',this._mouseleaveHandler.bind(this));
$('#dots').on('mouseenter',this._mouseenterHandler.bind(this));
$('#dots').on('mouseleave',this._mouseleaveHandler.bind(this));
}
addEvent() {
... ... @@ -64,7 +64,7 @@ class Slideshow extends Ape {
clearInterval(this._timer);
}
_mouseleaveHandler(){
setInterval(this._timer);
}
_move(){
let li = document.getElementById('motionMapBox').getElementsByTagName("li");
... ... @@ -77,7 +77,7 @@ class Slideshow extends Ape {
},3000);//切换时间
}
/*slideImg(){
slideImg(){
let i = 0;
let width = $('.slidesMap').width();
... ... @@ -89,13 +89,13 @@ class Slideshow extends Ape {
}
$("#dots li").first().addClass('active');
$(".dots li").hover(function(){
/* $(".dots li").hover(function(){
let index=$(this).index();
i=index;
$(".motionMapBox").stop().animate({left:-index*width},500);
$(this).addClass('active').siblings().removeClass('active');
})
let t=setInterval(function(){
})*/
/* let t=setInterval(function(){
i++;
move();
},2000);
... ... @@ -105,10 +105,10 @@ class Slideshow extends Ape {
clearInterval(t);
},function(){
t=setInterval(move,2000);
})
})*/
function move(){
/*function move(){
if(i==size){
$("#motionMapBox").css({left:0});
i=1;
... ... @@ -125,9 +125,9 @@ class Slideshow extends Ape {
}else{
$("#dots li").eq(i).addClass('active').siblings().removeClass('active');
}
}
}*/
}*/
}
_imgReload(){
let _windowWidth = $("body").width();
this.windowWidth = _windowWidth;
... ...
... ... @@ -31,6 +31,7 @@ import HomeApe from 'ape/HomeApe';//首页
import TeacherDetailApe from 'ape/TeacherDetailApe';//老师
import CreateClassApe from 'ape/CreateClassApe';//创建课堂
import ListDetailsApe from 'ape/ListDetailsApe';//列表详情
import AdministratorApe from 'ape/AdministratorApe';//管理员
let loger = Loger.getLoger('PCLive');
... ... @@ -54,10 +55,11 @@ let _homeApe;
let _teacherDetailApe;
let _createClassApe;
let _listDetailsApe;
let _administratorApe;
class Main {
constructor() {
this.clientVersion="v1.1.0.20170901";
this.clientVersion="v1.2.0.20170901";
loger.warn("clientVersion:"+this.clientVersion);
let locationProtocol= location.protocol;
... ... @@ -197,6 +199,8 @@ class Main {
_createClassApe = new CreateClassApe();
//列表详情
_listDetailsApe = new ListDetailsApe();
//管理员
_administratorApe = new AdministratorApe();
this._onFlashLoaded();
}
... ...