董佳音

更改进入详情页详细,个人中心个人信息分类

@@ -1255,7 +1255,6 @@ body{ @@ -1255,7 +1255,6 @@ body{
1255 position: absolute; 1255 position: absolute;
1256 left: 50%; 1256 left: 50%;
1257 right: 50%; 1257 right: 50%;
1258 - margin-left:-210px;  
1259 background: #fff; 1258 background: #fff;
1260 } 1259 }
1261 .userLogin{ 1260 .userLogin{
@@ -1298,6 +1297,8 @@ body{ @@ -1298,6 +1297,8 @@ body{
1298 border:none; 1297 border:none;
1299 background: none; 1298 background: none;
1300 outline: none; 1299 outline: none;
  1300 +
  1301 + border-radius: 2px;
1301 } 1302 }
1302 .userVerifyLiInputBtn{ 1303 .userVerifyLiInputBtn{
1303 height:32px; 1304 height:32px;
@@ -1368,9 +1369,6 @@ body{ @@ -1368,9 +1369,6 @@ body{
1368 .loginBtn{ 1369 .loginBtn{
1369 color:#d95136; 1370 color:#d95136;
1370 } 1371 }
1371 -.usersignNameLi{  
1372 - position: relative;  
1373 -}  
1374 .requiredMsg{ 1372 .requiredMsg{
1375 position: absolute; 1373 position: absolute;
1376 right:-15px; 1374 right:-15px;
@@ -1468,7 +1466,6 @@ body{ @@ -1468,7 +1466,6 @@ body{
1468 position: absolute; 1466 position: absolute;
1469 left: 50%; 1467 left: 50%;
1470 top: 0; 1468 top: 0;
1471 - margin-left:-150px;  
1472 z-index: 1; 1469 z-index: 1;
1473 background: #fffdfd; 1470 background: #fffdfd;
1474 cursor: default; 1471 cursor: default;
@@ -1895,7 +1892,6 @@ body{ @@ -1895,7 +1892,6 @@ body{
1895 position: absolute; 1892 position: absolute;
1896 left: 50%; 1893 left: 50%;
1897 top: 50%; 1894 top: 50%;
1898 - margin-left:-205px;  
1899 } 1895 }
1900 .updateInputContent{ 1896 .updateInputContent{
1901 padding: 55px 35px; 1897 padding: 55px 35px;
@@ -2023,4 +2019,9 @@ body{ @@ -2023,4 +2019,9 @@ body{
2023 text-align: center; 2019 text-align: center;
2024 line-height: 305px; 2020 line-height: 305px;
2025 } 2021 }
  2022 +.dataCenterErrorTitle{
  2023 + font-size: 14px;
  2024 + color: #999999;
  2025 + padding-left: 15px;
  2026 +}
2026 2027
@@ -90,7 +90,6 @@ @@ -90,7 +90,6 @@
90 </div> 90 </div>
91 <!--课堂分类列表--> 91 <!--课堂分类列表-->
92 <!--最新直播课程--> 92 <!--最新直播课程-->
93 -  
94 <div class="classifyListBox" id="liveContentAllBox"> 93 <div class="classifyListBox" id="liveContentAllBox">
95 <div class="classifyListTitle">最新直播课程</div> 94 <div class="classifyListTitle">最新直播课程</div>
96 <div class="classifyListContent" id="liveContent"> 95 <div class="classifyListContent" id="liveContent">
@@ -1699,11 +1698,11 @@ @@ -1699,11 +1698,11 @@
1699 <ul> 1698 <ul>
1700 <li class="usersignTit">登录</li> 1699 <li class="usersignTit">登录</li>
1701 <li class="usersignNameLi usersignLi"> 1700 <li class="usersignNameLi usersignLi">
1702 - <input id="loginName" class="usersignInput" type="text" placeholder="手机/用户名/邮箱" maxlength="20" 1701 + <input id="loginName" class="usersignInput classThemeInfo" type="text" placeholder="手机/用户名/邮箱" value="" maxlength="20"
1703 onkeyup="this.value=this.value.replace(/^ +| +$/g,'')"> 1702 onkeyup="this.value=this.value.replace(/^ +| +$/g,'')">
1704 </li> 1703 </li>
1705 <li class="userPassWordLi usersignLi"> 1704 <li class="userPassWordLi usersignLi">
1706 - <input id="loginPassWord" class="userPassWordInput usersignInput" type="password" placeholder="密码" maxlength="20" 1705 + <input id="loginPassWord" class="usersignInput classThemeInfo" type="password" placeholder="密码" value="" maxlength="20"
1707 onkeyup="this.value=this.value.replace(/^ +| +$/g,'')"> 1706 onkeyup="this.value=this.value.replace(/^ +| +$/g,'')">
1708 </li> 1707 </li>
1709 <p class="forgetPasswordBtn" id="forgetPasswordBtn"> 1708 <p class="forgetPasswordBtn" id="forgetPasswordBtn">
@@ -29,5 +29,6 @@ MessageTypes.ORDER_FINISH= "order_finish"; //预约成功 @@ -29,5 +29,6 @@ MessageTypes.ORDER_FINISH= "order_finish"; //预约成功
29 29
30 //个人中心 30 //个人中心
31 MessageTypes.LOGIN_MYCENTER= "login_mycenter"; //预约成功 31 MessageTypes.LOGIN_MYCENTER= "login_mycenter"; //预约成功
  32 +MessageTypes.ROLE_MESSAGE= "role_message"; //我的信息
32 export default MessageTypes; 33 export default MessageTypes;
33 34
@@ -7,7 +7,6 @@ import Ape from "./Ape"; @@ -7,7 +7,6 @@ import Ape from "./Ape";
7 import $ from "jquery"; 7 import $ from "jquery";
8 import ClassDataProxy from "proxy/ClassDataProxy"; 8 import ClassDataProxy from "proxy/ClassDataProxy";
9 import dateUI from 'libs/laydate'; 9 import dateUI from 'libs/laydate';
10 -import ErrorApe from "./ErrorApe";  
11 10
12 let loger = Loger.getLoger('PC-AboutClassApe'); 11 let loger = Loger.getLoger('PC-AboutClassApe');
13 const adminListTit = `<table width="100%" align="center" cellpadding="0" cellspacing="0" border="0" id="t_box" class="t_box"> 12 const adminListTit = `<table width="100%" align="center" cellpadding="0" cellspacing="0" border="0" id="t_box" class="t_box">
@@ -161,7 +160,7 @@ class AboutClassApe extends Ape { @@ -161,7 +160,7 @@ class AboutClassApe extends Ape {
161 that._gainUserClassData(_data.returnData.data); 160 that._gainUserClassData(_data.returnData.data);
162 }else{ 161 }else{
163 //显示老师界面 162 //显示老师界面
164 - that._gainUserClassData1(_data.returnData.data); 163 + // that._gainUserClassData1(_data.returnData.data);
165 } 164 }
166 } 165 }
167 }, 166 },
@@ -33,7 +33,7 @@ class AdministratorApe extends Ape { @@ -33,7 +33,7 @@ class AdministratorApe extends Ape {
33 //设置当前时间 给输入框默认值 33 //设置当前时间 给输入框默认值
34 this._setNewTime(); 34 this._setNewTime();
35 //设置弹框位置 35 //设置弹框位置
36 - this._setMarginTop(); 36 + // this._setMarginTop();
37 } 37 }
38 _switchover(evt){ 38 _switchover(evt){
39 $(evt.currentTarget).addClass('recordLiCheck').siblings().removeClass('recordLiCheck'); 39 $(evt.currentTarget).addClass('recordLiCheck').siblings().removeClass('recordLiCheck');
@@ -88,15 +88,18 @@ class AdministratorApe extends Ape { @@ -88,15 +88,18 @@ class AdministratorApe extends Ape {
88 this._setMarginTopHandler($('#usersign'));//注册 88 this._setMarginTopHandler($('#usersign'));//注册
89 this._setMarginTopHandler($('#warnHintBox'));//错误提示 89 this._setMarginTopHandler($('#warnHintBox'));//错误提示
90 this._setMarginTopHandler($('#removeHandler'));//删除 90 this._setMarginTopHandler($('#removeHandler'));//删除
91 - this._setMarginTopHandler($('#updateInputBox'));//修改信息输入框 91 + this._setMarginTopHandler($('.updateInputBox'));//修改信息输入框
92 this._setMarginTopHandler($('#teacherDetailReminders'));//预约成功弹框 92 this._setMarginTopHandler($('#teacherDetailReminders'));//预约成功弹框
93 this._setMarginTopHandler($('#createUser'));//注册老师账号 93 this._setMarginTopHandler($('#createUser'));//注册老师账号
94 this._setMarginTopHandler($('#createClass'));//创建课堂 94 this._setMarginTopHandler($('#createClass'));//创建课堂
95 } 95 }
96 //设置弹框位置 方法 96 //设置弹框位置 方法
97 _setMarginTopHandler(_data){ 97 _setMarginTopHandler(_data){
98 - let clienth = document.documentElement.clientHeight || document.body.clientHeight  
99 - _data.css('margin-top',Math.abs((clienth - parseInt(_data.height()))/2)) 98 + let top = ($(window).height() - _data.height())/2;
  99 + let left = ($(window).width() - _data.width())/2;
  100 + let scrollTop = $(document).scrollTop();
  101 + let scrollLeft = $(document).scrollLeft();
  102 + _data.css( { position : 'absolute', 'top' : top + scrollTop, left : left + scrollLeft } );
100 } 103 }
101 } 104 }
102 export default AdministratorApe; 105 export default AdministratorApe;
@@ -52,8 +52,6 @@ class CreateClassApe extends Ape { @@ -52,8 +52,6 @@ class CreateClassApe extends Ape {
52 isLocalStorage(){ 52 isLocalStorage(){
53 //设置当前时间 给输入框默认值 53 //设置当前时间 给输入框默认值
54 this._setNewTime(); 54 this._setNewTime();
55 - //设置弹框位置  
56 - this._setMarginTop();  
57 } 55 }
58 _showPresentTime(){ 56 _showPresentTime(){
59 let newDate = new Date(); 57 let newDate = new Date();
@@ -318,26 +316,6 @@ class CreateClassApe extends Ape { @@ -318,26 +316,6 @@ class CreateClassApe extends Ape {
318 $('#liveInfoCenterLiveEnd').html(time); 316 $('#liveInfoCenterLiveEnd').html(time);
319 $('#createUserAbortTime').html(time); 317 $('#createUserAbortTime').html(time);
320 } 318 }
321 - //设置弹框位置  
322 - _setMarginTop(){  
323 - this._setMarginTopHandler($('#createUserAccount'));//创建用户选择身份  
324 - this._setMarginTopHandler($('#userLogin'));//登录  
325 - this._setMarginTopHandler($('#usersign'));//注册  
326 - this._setMarginTopHandler($('#warnHintBox'));//错误提示  
327 - this._setMarginTopHandler($('#removeHandler'));//删除  
328 - this._setMarginTopHandler($('#updateInputBox'));//修改信息输入框  
329 - this._setMarginTopHandler($('#teacherDetailReminders'));//预约成功弹框  
330 - this._setMarginTopHandler($('#createUser'));//注册老师账号  
331 - this._setMarginTopHandler($('#createClass'));//创建课堂  
332 -  
333 - this._setMarginTopHandler($('#createGrade'));//创建班级  
334 - this._setMarginTopHandler($('#manageClass'));//管理班级  
335 - }  
336 - //设置弹框位置 方法  
337 - _setMarginTopHandler(_data){  
338 - let clienth = document.documentElement.clientHeight || document.body.clientHeight  
339 - _data.css('margin-top',(clienth - parseInt(_data.height()))/2)  
340 - }  
341 _dateUI(){ 319 _dateUI(){
342 //执行一个laydate实例 320 //执行一个laydate实例
343 dateUI.render({ 321 dateUI.render({
@@ -21,8 +21,8 @@ class ListDetailsApe extends Ape { @@ -21,8 +21,8 @@ class ListDetailsApe extends Ape {
21 $('#liveContentAllBox ').on('click','.classifyList',this._curriculumListHandler.bind(this));//直播详情页 21 $('#liveContentAllBox ').on('click','.classifyList',this._curriculumListHandler.bind(this));//直播详情页
22 $('#liveListBox ').on('click','.classifyList',this._curriculumListHandler.bind(this));//首页 进入 直播详情页 22 $('#liveListBox ').on('click','.classifyList',this._curriculumListHandler.bind(this));//首页 进入 直播详情页
23 23
24 - $('#lanclassAllBox ').on('click','.classifyList',this._curriculumListHandler.bind(this));//互动详情页  
25 - $('#lanclassList ').on('click','.classifyList',this._curriculumListHandler.bind(this));//首页 进入 互动详情页 24 + $('#lanclassAllBox ').on('click','.classifyList',this._liveListHandler.bind(this));//互动详情页
  25 + $('#lanclassList ').on('click','.classifyList',this._liveListHandler.bind(this));//首页 进入 互动详情页
26 26
27 $('#teacherIntroAllBox ').on('click','.classifyList',this._teacherInfoHandler.bind(this));//老师详情页 27 $('#teacherIntroAllBox ').on('click','.classifyList',this._teacherInfoHandler.bind(this));//老师详情页
28 $('#teacherIntro ').on('click','.classifyList',this._teacherInfoHandler.bind(this));//首页 进入 老师详情页 28 $('#teacherIntro ').on('click','.classifyList',this._teacherInfoHandler.bind(this));//首页 进入 老师详情页
@@ -33,17 +33,21 @@ class ListDetailsApe extends Ape { @@ -33,17 +33,21 @@ class ListDetailsApe extends Ape {
33 } 33 }
34 _curriculumListHandler(evt){ 34 _curriculumListHandler(evt){
35 35
36 - let buttonIsCheck = $('#orderBtn').attr('value','1'); 36 + /* let buttonIsCheck = $('#orderBtn').attr('value','1');
37 if($('#orderBtn').attr('value') == '1'){ 37 if($('#orderBtn').attr('value') == '1'){
38 $('#orderBtn').attr('disabled',true) 38 $('#orderBtn').attr('disabled',true)
39 $('#orderBtn').css('background','#3498db') 39 $('#orderBtn').css('background','#3498db')
40 - }  
41 -  
42 - this.commonalityClass();  
43 - 40 + }*/
44 let _id = $(evt.currentTarget).attr('data'); 41 let _id = $(evt.currentTarget).attr('data');
45 this._id = _id; 42 this._id = _id;
46 this.classInfoDetail(_id); 43 this.classInfoDetail(_id);
  44 + this.commonalityClass();
  45 + }
  46 + _liveListHandler(evt){
  47 + let _id = $(evt.currentTarget).attr('data');
  48 + this._id = _id;
  49 + this.liveInfoDetail(_id);
  50 + this.commonalityClass();
47 } 51 }
48 commonalityClass(){ 52 commonalityClass(){
49 $('#slideshow').hide(); 53 $('#slideshow').hide();
@@ -63,6 +67,21 @@ class ListDetailsApe extends Ape { @@ -63,6 +67,21 @@ class ListDetailsApe extends Ape {
63 let that = this; 67 let that = this;
64 let data = { 68 let data = {
65 id: _id, 69 id: _id,
  70 + meetingStatus:2,
  71 + siteId:ClassDataProxy.siteId
  72 + }
  73 + let _url = ClassDataProxy.locationProtocol + ClassDataProxy.locationProt + '/meeting/getMeeting';
  74 + this.detailPage(_url,data,function(_data){
  75 + if(_data){
  76 + that._gainClassData(_data.returnData.data);
  77 + }
  78 + })
  79 + }
  80 + liveInfoDetail(_id){
  81 + let that = this;
  82 + let data = {
  83 + id: _id,
  84 + meetingStatus:1,
66 siteId:ClassDataProxy.siteId 85 siteId:ClassDataProxy.siteId
67 } 86 }
68 let _url = ClassDataProxy.locationProtocol + ClassDataProxy.locationProt + '/meeting/getMeeting'; 87 let _url = ClassDataProxy.locationProtocol + ClassDataProxy.locationProt + '/meeting/getMeeting';
@@ -86,60 +105,22 @@ class ListDetailsApe extends Ape { @@ -86,60 +105,22 @@ class ListDetailsApe extends Ape {
86 } 105 }
87 }) 106 })
88 } 107 }
89 - detailPage(url,data,callback){  
90 - $.ajax({  
91 - type: "POST",  
92 - url: url,  
93 - timeout:5000,  
94 - data : data,  
95 - headers: {siteId:ClassDataProxy.siteId,  
96 - 'token':ClassDataProxy.token},  
97 - success:function(_data){  
98 - //获取我的课程数据  
99 - if(_data && _data.code == 200){  
100 - if(callback){  
101 - callback(_data);  
102 - }  
103 - }else{  
104 - if(callback){  
105 - callback(null);  
106 - }  
107 - }  
108 - },  
109 - error:function(error){  
110 - //alert('直播数据获取失败')  
111 - if(callback){  
112 - callback(null);  
113 - }  
114 - loger.log(error,'直播数据获取失败')  
115 - }  
116 - })  
117 - }  
118 _gainClassData(_data){ 108 _gainClassData(_data){
119 - let _dataList = _data.meetingInfo;  
120 - if(_dataList){  
121 - for(let i = 0;i<_dataList.length;i++){  
122 - let item = _dataList[i];  
123 - if(item.id == this._id ){  
124 - this._liveRender(item);  
125 - loger.log('课堂信息桑心',item)  
126 - }  
127 - }  
128 - } 109 + if(_data){
  110 + let _dataList = _data.meetingInfo;
  111 + if(_dataList){
  112 + this._liveRender(_dataList[0]);
  113 + loger.log('课堂信息信息',_dataList)
  114 + }
  115 + }
129 } 116 }
130 _classDateContent(_data){ 117 _classDateContent(_data){
131 -  
132 - let teacherList = _data.users;  
133 -  
134 - if(teacherList){  
135 - for(let i = 0;i<teacherList.length;i++){  
136 - let item = teacherList[i];  
137 - if(item.id == this._id){  
138 - this._lanclassRender(item);  
139 - }  
140 - 118 + if(_data){
  119 + let teacherList = _data.users;
  120 + if(teacherList){
  121 + this._lanclassRender(teacherList[0]);
  122 + loger.log('课堂信息信息',teacherList)
141 } 123 }
142 -  
143 } 124 }
144 } 125 }
145 //老师 126 //老师
@@ -182,5 +163,34 @@ class ListDetailsApe extends Ape { @@ -182,5 +163,34 @@ class ListDetailsApe extends Ape {
182 $('#teacherInfoSchool').text();//老师学院 163 $('#teacherInfoSchool').text();//老师学院
183 $('#teacherInfoContent').text();//老师专业等级信息 164 $('#teacherInfoContent').text();//老师专业等级信息
184 } 165 }
  166 +
  167 + detailPage(url,data,callback){
  168 + $.ajax({
  169 + type: "POST",
  170 + url: url,
  171 + timeout:5000,
  172 + data : data,
  173 + headers: {siteId:ClassDataProxy.siteId,
  174 + 'token':ClassDataProxy.token},
  175 + success:function(_data){
  176 + //获取我的课程数据
  177 + if(_data && _data.code == 200){
  178 + if(callback){
  179 + callback(_data);
  180 + }
  181 + }else{
  182 + if(callback){
  183 + callback(null);
  184 + }
  185 + }
  186 + },
  187 + error:function(error){
  188 + if(callback){
  189 + callback(null);
  190 + }
  191 + loger.log(error,'直播数据获取失败')
  192 + }
  193 + })
  194 + }
185 } 195 }
186 export default ListDetailsApe; 196 export default ListDetailsApe;
@@ -63,17 +63,20 @@ class LoginOrRegister extends Ape { @@ -63,17 +63,20 @@ class LoginOrRegister extends Ape {
63 } 63 }
64 //注册跳转登录界面 64 //注册跳转登录界面
65 _skipLoginBtnHandler(){ 65 _skipLoginBtnHandler(){
  66 + ClassDataProxy.getMarginTopHandler($('#userLogin'));
66 $('#userSignBox').hide(); 67 $('#userSignBox').hide();
67 $('#userLoginBox').show(); 68 $('#userLoginBox').show();
68 } 69 }
69 //新用户注册 70 //新用户注册
70 _nowUserSignHandler(){ 71 _nowUserSignHandler(){
  72 + ClassDataProxy.getMarginTopHandler($('#usersign'));
71 $('#userLoginBox').hide(); 73 $('#userLoginBox').hide();
72 $('#userSignBox').show(); 74 $('#userSignBox').show();
73 } 75 }
74 //首页用户登录 76 //首页用户登录
75 _homeUserLoginBtnHandler(){ 77 _homeUserLoginBtnHandler(){
76 if(!window.localStorage.getItem('status')){ 78 if(!window.localStorage.getItem('status')){
  79 + ClassDataProxy.getMarginTopHandler($('#userLogin'));
77 $('#userLoginBox').show(); 80 $('#userLoginBox').show();
78 } 81 }
79 } 82 }
@@ -223,9 +226,11 @@ class LoginOrRegister extends Ape { @@ -223,9 +226,11 @@ class LoginOrRegister extends Ape {
223 if(_data && _data.code == 200){ 226 if(_data && _data.code == 200){
224 // alert('注册成功') 227 // alert('注册成功')
225 console.log(_data,'成功') 228 console.log(_data,'成功')
  229 + ClassDataProxy.getMarginTopHandler($('#warnHintBox'));
226 ErrorApe.showWarnError('注册成功'); 230 ErrorApe.showWarnError('注册成功');
227 that._successSign(_data); 231 that._successSign(_data);
228 }else{ 232 }else{
  233 + ClassDataProxy.getMarginTopHandler($('#warnHintBox'));
229 ErrorApe.showWarnError(_data.returnData.data.msg); 234 ErrorApe.showWarnError(_data.returnData.data.msg);
230 // alert(_data.returnData.data.msg) 235 // alert(_data.returnData.data.msg)
231 } 236 }
@@ -281,6 +286,7 @@ class LoginOrRegister extends Ape { @@ -281,6 +286,7 @@ class LoginOrRegister extends Ape {
281 loger.log('登录返回数据',_data) 286 loger.log('登录返回数据',_data)
282 if(_data && _data.code == 200){ 287 if(_data && _data.code == 200){
283 // alert('登录成功') 288 // alert('登录成功')
  289 + ClassDataProxy.getMarginTopHandler($('#warnHintBox'));
284 ErrorApe.showWarnError('登录成功'); 290 ErrorApe.showWarnError('登录成功');
285 ClassDataProxy.userType= _data.returnData.data.userType; 291 ClassDataProxy.userType= _data.returnData.data.userType;
286 ClassDataProxy.loginName =_name.value; 292 ClassDataProxy.loginName =_name.value;
@@ -311,6 +317,7 @@ class LoginOrRegister extends Ape { @@ -311,6 +317,7 @@ class LoginOrRegister extends Ape {
311 that.updateChangeUser(_data); 317 that.updateChangeUser(_data);
312 318
313 }else{ 319 }else{
  320 + ClassDataProxy.getMarginTopHandler($('#warnHintBox'));
314 ErrorApe.showWarnError(_data.returnData.data.msg); 321 ErrorApe.showWarnError(_data.returnData.data.msg);
315 // alert(_data.returnData.data.msg) 322 // alert(_data.returnData.data.msg)
316 } 323 }
@@ -72,7 +72,7 @@ class ManagementHomePageApe extends Ape { @@ -72,7 +72,7 @@ class ManagementHomePageApe extends Ape {
72 $('#classHandlerEndPage0').on('click',this._endPageHandler.bind(this));//尾页 72 $('#classHandlerEndPage0').on('click',this._endPageHandler.bind(this));//尾页
73 $('#classHandlerSpecificPage0').on('click',this._assignPageHandler.bind(this));//指定页 73 $('#classHandlerSpecificPage0').on('click',this._assignPageHandler.bind(this));//指定页
74 74
75 - $('#courseContent0').on('click','.deleteClass',this._deleteClass.bind(this));//删除课堂 75 + // $('#courseContent0').on('click','.deleteClass',this._deleteClass.bind(this));//删除课堂
76 $('#courseContent0').on('click','.joinClass',this._joinClass.bind(this));//加入课堂 76 $('#courseContent0').on('click','.joinClass',this._joinClass.bind(this));//加入课堂
77 } 77 }
78 78
  1 +//*
  2 +// 个人中心 我的预约
  3 +// */
  4 +
  5 +import Loger from "../Loger";
  6 +import Ape from "./Ape";
  7 +import $ from "jquery";
  8 +import ClassDataProxy from "proxy/ClassDataProxy";
  9 +import ErrorApe from "./ErrorApe";
  10 +import MessageTypes from "../MessageTypes";
  11 +
  12 +const classifyList = `<div class="courseMinuteListTimeTit" style="display: {_isShowTitle}">
  13 + <span class="courseMinuteListTime">{_liveTimer}</span>
  14 + <span class="courseMinuteListWire"></span>
  15 + </div>
  16 + <div class="classifyListMyCenter {_classifyListR}">
  17 + <div class="myCenterContentMask accessLearningBtn">
  18 + <button class="myCenterContentMaskBtn btnHover" data="{_meetingNumber}">进入学习</button>
  19 + </div>
  20 + <div class="myCenterContentMask cancelReservation">
  21 + <button class="myCenterContentMaskBtn btnHover" data="{_studentMeetingId}">取消预约</button>
  22 + </div>
  23 + <img class="myCenterContentListImg" src="{_msgImg}" alt="">
  24 + <p class="myCenterContentListTit">{_meetingName}</p>
  25 + <p class="myCenterContentListTit1">主讲人:{_create_user}</p>
  26 + <p class="myCenterContentMin">45min</p>
  27 + <span class="myCenterContentTimer">{_liveTimer}</span>
  28 + </div>`;
  29 +const curriculumList = `<li class="teacherTodayCourseList">
  30 + <span class="courseDetailInfo">{_infoTit}</span>
  31 + <span class="courseDetailInfo1">距开始还有:<i class="teacherStartContent">{_countDown}</i></span>
  32 + <button class="teacherEnterClass btnHover" data="{_meetingNumber}" style="display: {_isShow}">立即进入</button>
  33 + </li>`;
  34 +
  35 +const adminListTit = `<table width="100%" align="center" cellpadding="0" cellspacing="0" border="0" class="t_box">
  36 + <tbody>
  37 + <tr align="center" height="44" class="tr_center" bgcolor="#fff" bordercolor="#e6e6e6">
  38 + <th width="7%" class="tr_center">
  39 + 课堂主题
  40 + </th>
  41 + <th width="7%" class="tr_center">
  42 + 课堂号
  43 + </th>
  44 + <th width="7%" class="tr_center">
  45 + 老师
  46 + </th>
  47 + <th width="7%" class="tr_center">
  48 + 课堂状态
  49 + </th>
  50 + <th width="15%" class="tr_center">
  51 + 课堂时间
  52 + </th>
  53 + <th width="7%" class="tr_center">
  54 + 在线人数
  55 + </th>
  56 + <th width="10%" class="tr_center">
  57 + 操作
  58 + </th>
  59 + </tr>
  60 +`;
  61 +//管理首页
  62 +const adminList = `<tr align="center" bgcolor="#FFFFFF" height="44" bordercolor="#e6e6e6">
  63 + <td width="7%" class="tr_main tr_mainLeft">{_meetingName}</td>
  64 + <td width="7%" class="tr_main">{_meetingNumber}</td>
  65 + <td width="7%" class="tr_main">{_create_user}</td>
  66 + <td width="7%" class="tr_main">{_state}</td>
  67 + <td width="15%" class="tr_main">{_timer}</td>
  68 + <td width="7%" class="tr_main">{_num}</td>
  69 + <td width="10%" class="tr_main tr_mainRight" align="center">
  70 + <a class="classHandlePort deleteClass" data="{_aboutMsg}" href="###">文档</a>
  71 + <a class="classHandlePort deleteClass" data="{_aboutMsg}" href="###">多媒体</a>
  72 + <a class="classHandlePort resolveBtn" href="###" data="{_aboutMsg}">伴音</a>
  73 + </td>
  74 + </tr>
  75 +`;
  76 +const adminListEnd = `</tbody></table>`;
  77 +
  78 +//学生端显示老师信息
  79 +const teacherInfoLeft = `<div class="teacherCorrelatedInfoBox">
  80 + <div class="teacherCorrelatedInfoLeft">
  81 + <img class="teacherCorrelatedInfoImg" id="teacherCorrelatedInfoImg" src="images/u293.png" alt="">
  82 + <div class="teacherCorrelatedInfo">
  83 + <b class="teacherCorrelatedInfoName" id="teacherCorrelatedInfoName">{_teacherName}</b>
  84 + <b class="teacherCorrelatedInfoMajor">北京市|少儿英语</b>
  85 + <b class="teacherCorrelatedInfoCourse">课程:50</b>
  86 + <span class="teacherCorrelatedInfoMajorMsg">毕业于外国语学院,专业8</span>
  87 + <p class="cancelReservationBtn"">取消预约</p>
  88 + </div>
  89 + </div>
  90 + <div class="teacherCorrelatedInfoCenter">`;
  91 +const teacherInfoCenter= `<img class="teachercourseImg" data="{_id}" src="{_imgSrc}" alt="">`;
  92 +const teacherInfoRight = `</div> <div class="teacherCorrelatedInfoBtn" data="{_teacherName}">更多课程</div>
  93 + </div></div>`;
  94 +
  95 +const teacherDetail = `<span class="teacherDetailCurriculumList">《{_detailList}》</span>`
  96 +
  97 +let loger = Loger.getLoger('PC-MyBookingsApe');
  98 +class MyBookingsApe extends Ape {
  99 + constructor() {
  100 + super();
  101 + this.dataList = {};
  102 + this.teacherList = {};
  103 + this.presentInd = 1;//点击翻页默认为第一页
  104 + this._judgeListPlace();
  105 + this.addEvent();
  106 + this.init();
  107 + }
  108 +
  109 + init() {
  110 + $('#personageInfo').on('click',this._myCenterBoxHandler.bind(this));//个人中心
  111 +
  112 + $('#teacherUI li').on('click',this._recordLiHandler.bind(this));//课堂分类
  113 + $('#teacherInfoList li').on('click',this._teacherInfoListHandler.bind(this));//首页 老师 直播分类 正在直播 未开始 已结束
  114 + $('#studentInfoList li').on('click',this._studentInfoListHandler.bind(this));//首页 学生 待学习 已学完 收藏
  115 + $('#courseInfoList li').on('click',this._courseInfoListHandler.bind(this));//我的课程 学生 待学习 已学完 收藏
  116 + $('#teacherLiveList li').on('click',this._teacherLiveListHandler.bind(this));//我的课程 老师 正在直播 未开始 已结束
  117 +
  118 + $('#subscribeList .liveInfoLeftLi').on('click',this._subscribeListHandler.bind(this));//课程 老师
  119 +
  120 + $('#studentMyCenterContentList').on('mouseenter','.classifyListMyCenter',this._mouseenter.bind(this));//个人中心移入进入课堂
  121 + $('#studentMyCenterContentList').on('mouseleave','.classifyListMyCenter',this._mouseleave.bind(this));//个人中心移出进入课堂
  122 +
  123 + $('#courseMinuteList').on('mouseenter','.classifyListMyCenter',this._mouseenter.bind(this));//课程移入进入课堂
  124 + $('#courseMinuteList').on('mouseleave','.classifyListMyCenter',this._mouseleave.bind(this));//课程移出进入课堂
  125 +
  126 + $('#teacherCorrelatedInfo').on('mouseenter','.classifyListMyCenter',this._cancelMouseenter.bind(this));//我的预约 课程移入显示取消预约
  127 + $('#teacherCorrelatedInfo').on('mouseleave','.classifyListMyCenter',this._cancelMouseleave.bind(this));//我的预约 课程移出隐藏取消预约
  128 +
  129 + $('#studentMyCenterContentList').on('click','.accessLearningBtn',this._enterClassRoomHandler.bind(this));//我的预约进入课堂
  130 + $('#courseMinuteList').on('click','.accessLearningBtn',this._enterClassRoomHandler.bind(this));//我的预约进入课堂
  131 +
  132 +
  133 +
  134 + $('#myCurriculumInfo').on('click','.teacherEnterClass',this._enterClassRoomHandler.bind(this));//我的课程进入课堂
  135 +
  136 +
  137 + $('#teacherCorrelatedInfo').on('click','.teacherCorrelatedInfoBtn',this._teacherSubscribeMoveHandler.bind(this));//点击预约查看当前点击的更多信息
  138 +
  139 + $('#teacherCorrelatedInfo').on('click','.cancelReservation',this._cancelSubscribeHandler.bind(this));//取消预约
  140 +
  141 + $('#teacherCorrelatedInfo').on('click','.teachercourseImg',this._teacherClassDetails.bind(this));//点击进入老师课堂详情页
  142 +
  143 +
  144 +
  145 + $('#teacherMyCerterHomePage').on('click',this._homePageHandler.bind(this));//首页
  146 + $('#teacherMyCerterUpPage').on('click',this._upPageHandler.bind(this));//上页
  147 + $('#teacherMyCerterDownPage').on('click',this._downPageHandler.bind(this));//下页
  148 + $('#teacherMyCerterEndPage').on('click',this._endPageHandler.bind(this));//尾页
  149 + $('#teacherMyCerterSpecificPage').on('click',this._assignPageHandler.bind(this));//指定页
  150 +
  151 + }
  152 +
  153 + addEvent() {
  154 +
  155 + }
  156 + //首页
  157 + _createClassHomePage(){
  158 + this._teacherLiveModule(1);
  159 + }
  160 + //首页
  161 + _homePageHandler(){
  162 + this.presentInd = 1;
  163 + this._teacherLiveModule(this.presentInd);
  164 + }
  165 + //上页
  166 + _upPageHandler(){
  167 + if(this.presentInd > 1){
  168 + this.presentInd--;
  169 + this._teacherLiveModule(this.presentInd);
  170 + }
  171 + }
  172 + //下页
  173 + _downPageHandler(){
  174 + loger.log('点击下一页')
  175 + if(this.presentInd < this.pageNo){
  176 + this.presentInd++;
  177 + this._teacherLiveModule(this.presentInd);
  178 + }
  179 + }
  180 + //尾页
  181 + _endPageHandler(){
  182 + this.presentInd = this.pageNo;
  183 + this._teacherLiveModule(this.presentInd);
  184 + }
  185 + //指定页
  186 + _assignPageHandler(){
  187 + let inputVal = $('#teacherMyCerterPageInfoInput').val();
  188 + if(parseInt(inputVal) <= this.pageNo || parseInt(inputVal) >= 1 ){
  189 + this._teacherLiveModule(parseInt(inputVal));
  190 + }
  191 + }
  192 + loadMeeting(meeting){
  193 + let status = meeting["meetingStatus"];
  194 + if(status != ''){
  195 + if (status == "1" || status == "2") {
  196 + return '已开始';
  197 + }else{
  198 + if (status == "2") {
  199 + // alert("会议已经开始!");
  200 + return '已开始';
  201 + } else if (status == "3") {
  202 + return '未开始';
  203 + // alert("未到开始时间!");
  204 + } else if (status == "4") {
  205 + // alert("会议已经结束!");
  206 + return '已结束';
  207 + }
  208 + }
  209 + }
  210 + }
  211 + //老师端数据请求
  212 + _teacherCurriculumInfo(data,num,ind,callback){
  213 + let _url = ClassDataProxy.locationProtocol + ClassDataProxy.locationProt + '/meeting/getMeeting';
  214 + let that = this;
  215 + $.ajax({
  216 + type: "POST",
  217 + url: _url,
  218 + timeout:5000,
  219 + data : data,
  220 + headers: {siteId:ClassDataProxy.siteId,pageno:num, page:ind,
  221 + 'token':ClassDataProxy.token},
  222 + success:function(_data){
  223 +
  224 + //获取我的课程数据
  225 + if(_data && _data.code == 200){
  226 + if(callback){
  227 + callback(_data);
  228 + }
  229 + }else{
  230 + if(callback){
  231 + callback(null);
  232 + }
  233 + }
  234 + },
  235 + error:function(error){
  236 + //alert('直播数据获取失败')
  237 + if(callback){
  238 + callback(null);
  239 + }
  240 + loger.log(error,'直播数据获取失败')
  241 + }
  242 + })
  243 + }
  244 + _studentCurriculumInfo(num,callback){
  245 + let _url = ClassDataProxy.locationProtocol + ClassDataProxy.locationProt + '/studentMeeting/getStudentMeetingByStudentId/'+ClassDataProxy.id;
  246 + let that = this;
  247 + $.ajax({
  248 + type: "GET",
  249 + url: _url,
  250 + timeout:5000,
  251 + headers: {siteId:ClassDataProxy.siteId,pageno:num,id:ClassDataProxy.id,
  252 + 'token':ClassDataProxy.token},
  253 + success:function(_data){
  254 +
  255 + //获取我的课程数据
  256 + if(_data && _data.code == 200){
  257 + if(callback){
  258 + callback(_data);
  259 + }
  260 + }else{
  261 + if(callback){
  262 + callback(null);
  263 + }
  264 + }
  265 + },
  266 + error:function(error){
  267 + //alert('直播数据获取失败')
  268 + if(callback){
  269 + callback(null);
  270 + }
  271 + loger.log(error,'直播数据获取失败')
  272 + }
  273 + })
  274 + }
  275 + //老师端首页默认数据
  276 + detailPageTeacher(){
  277 + //首页课程
  278 + this._teacherCourseModule();
  279 + //首页直播信息
  280 + this._teacherLiveModule(1);
  281 + }
  282 + detailPageStudent(){
  283 + this._studentCourseModule();
  284 + //首页课程
  285 + let ind = $('#studentInfoList .liveInfoLeftLiCheck').attr('data');
  286 + let studentMyCenterContentList = $('#studentMyCenterContentList');
  287 + switch (parseInt(ind)){
  288 + case 0:
  289 + //待学习
  290 + this._studentStudyModule(studentMyCenterContentList);
  291 + break;
  292 + case 1:
  293 + //已学完
  294 + this._studentStudyOverModule(studentMyCenterContentList);
  295 + break;
  296 + case 2:
  297 + //收藏
  298 + this._studenTcollectModule(studentMyCenterContentList);
  299 + break;
  300 + default:
  301 + return;
  302 + }
  303 +
  304 + }
  305 + _showStatus(){
  306 + if(ClassDataProxy.userType == ClassDataProxy.USER_TYPE_1){
  307 + $('#teacherMyCenterStatus').text('老师');
  308 + $('#teacherMyCerter').show();
  309 + $('#studentMyCerter').hide();
  310 + }else if(ClassDataProxy.userType == ClassDataProxy.USER_TYPE_8){
  311 + $('#teacherMyCenterStatus').text('同学');
  312 + $('#teacherMyCerter').hide();
  313 + $('#studentMyCerter').show();
  314 + }
  315 + }
  316 + _recordLiHandler(evt){
  317 + let ind = $(evt.currentTarget).attr('data');
  318 + $(evt.currentTarget).addClass('recordLiCheck').siblings().removeClass('recordLiCheck');
  319 + $('.myCenterContentBox').eq(ind).show().siblings().hide();
  320 + switch (parseInt(ind)){
  321 + case 0:
  322 + //首页
  323 + this.detailpage();
  324 + break;
  325 + case 1:
  326 + //我的课程
  327 + this.myCoursesMessage();
  328 + break;
  329 + case 2:
  330 + //我的预约
  331 + this.myBookingsMessage();
  332 + break;
  333 + case 3:
  334 + //个人信息
  335 + this._emit(MessageTypes.ROLE_MESSAGE);
  336 + break;
  337 + default:
  338 + return;
  339 + }
  340 + }
  341 + detailpage(){
  342 + if(ClassDataProxy.userType == ClassDataProxy.USER_TYPE_1){
  343 + this.detailPageTeacher();
  344 + }else if(ClassDataProxy.userType == ClassDataProxy.USER_TYPE_8){
  345 + this.detailPageStudent();
  346 + }
  347 + }
  348 +
  349 + /*-------------------老师-------------------*/
  350 + //老师端首页课程显示
  351 + _teacherCourseModule(){
  352 + let data = {siteId:ClassDataProxy.siteId,create_user : ClassDataProxy.loginName};
  353 + let that = this;
  354 + this._teacherCurriculumInfo(data,3,1,function(_data){
  355 + //首页今日课程渲染
  356 + if(_data){
  357 + that._teacherCourseCourse(_data.returnData.data.meetingInfo);
  358 + }
  359 + })
  360 + }
  361 + //老师端首页课程数据渲染
  362 + _teacherCourseCourse(_data){
  363 + let myCurriculumInfo = $('#myCurriculumInfo');
  364 + myCurriculumInfo.empty();
  365 + let that = this;
  366 + if(_data) {
  367 + for (let i = 0; i < _data.length; i++) {
  368 + let item = _data[i];
  369 + if (item) {
  370 + let curInfo = this._format(curriculumList, {
  371 + _infoTit: item.meetingName,
  372 + _meetingNumber: item.meetingNumber,
  373 + _countDown: that.loadMeeting(item),
  374 + _isShow: (that.loadMeeting(item) == '已开始') ? 'block' : 'none'
  375 + })
  376 + myCurriculumInfo.append(curInfo);
  377 + } else {
  378 + console.error('_gainClassData没数据')
  379 + }
  380 +
  381 + }
  382 + }
  383 + }
  384 + //老师端首页直播数据
  385 + _teacherLiveModule(ind){
  386 + let data = {siteId:ClassDataProxy.siteId,create_user : ClassDataProxy.loginName,meetingStatus:1};
  387 + let that = this;
  388 + this._teacherCurriculumInfo(data,4,ind,function(_data){
  389 + //首页直播信息渲染
  390 + if(_data){
  391 + that._teacherLiveCourse(_data.returnData.data);
  392 + }
  393 + })
  394 + }
  395 + _teacherLiveCourse(_data){
  396 + let teacherMyCenterContentList = $('#teacherMyCenterContentList');
  397 + teacherMyCenterContentList.empty();
  398 +
  399 + let count = _data.count;
  400 + let page = _data.page;
  401 + let pageno = _data.pageno;
  402 + let pagenum = Math.ceil(count / pageno);
  403 + let _dataList = _data.meetingInfo;
  404 + // loger.log('老师端信息想显示',_data)
  405 + this.pageNo = pagenum;
  406 + $('#teacherMyCerterPageMsg').html('第'+page+'页/共'+pagenum+'页,有'+count+'个记录');
  407 + teacherMyCenterContentList.append(adminListTit)
  408 + for(let i = 0;i<_dataList.length;i++){
  409 + if(count <= 8){
  410 + $('#teacherMyCerterPageBox').hide();
  411 + }
  412 + let _adminList = this._format(adminList,{
  413 + _meetingName : _dataList[i].meetingName,
  414 + _meetingNumber : _dataList[i].meetingNumber,
  415 + _create_user : _dataList[i].create_user,
  416 + _state : ClassDataProxy.getTimeEnd(_dataList[i].beginTime,_dataList[i].endTime),
  417 + _timer : _dataList[i].beginTime + '-' + _dataList[i].endTime,
  418 + _num : '0'
  419 + })
  420 + teacherMyCenterContentList.append(_adminList)
  421 + }
  422 + teacherMyCenterContentList.append(adminListEnd)
  423 + }
  424 + _teacherCourse(_data){
  425 + let courseMinuteList = $('#courseMinuteList');
  426 + courseMinuteList.empty();
  427 + let count = _data.count;
  428 + let page = _data.page;
  429 + let pageno = _data.pageno;
  430 + let pagenum = Math.ceil(count / pageno);
  431 + let _dataList = _data.meetingInfo;
  432 + this.pageNo = pagenum;
  433 + $('#teacherMyCerterPageMsg').html('第'+page+'页/共'+pagenum+'页,有'+count+'个记录');
  434 + courseMinuteList.append(adminListTit)
  435 + for(let i = 0;i<_dataList.length;i++){
  436 + if(count <= 8){
  437 + $('#teacherMyCerterPageBox').hide();
  438 + }
  439 + let _adminList = this._format(adminList,{
  440 + _meetingName : _dataList[i].meetingName,
  441 + _meetingNumber : _dataList[i].meetingNumber,
  442 + _create_user : _dataList[i].create_user,
  443 + _state : ClassDataProxy.getTimeEnd(_dataList[i].beginTime,_dataList[i].endTime),
  444 + _timer : _dataList[i].beginTime + '-' + _dataList[i].endTime,
  445 + _num : '0'
  446 + })
  447 + courseMinuteList.append(_adminList)
  448 + }
  449 + courseMinuteList.append(adminListEnd)
  450 + }
  451 +
  452 + /*---------------------------学生-----------------------*/
  453 + //学生端首页課程显示
  454 + _studentCourseModule(){
  455 + let that = this;
  456 + this._studentCurriculumInfo(3,function(_data){
  457 + that.studentCourseList(_data.returnData.data);
  458 + })
  459 + }
  460 + studentCourseList(_data){
  461 + if(_data){
  462 + // loger.log('学生端首页课程信息',_data)
  463 + let myCurriculumInfo = $('#myCurriculumInfo');
  464 + myCurriculumInfo.empty();
  465 + let that = this;
  466 + if(_data) {
  467 + for (let i = 0; i < _data.length; i++) {
  468 + let item = _data[i];
  469 + let timer = ClassDataProxy.getTimeCountDown(item.meetingBeginTime,item.meetingEndTime)
  470 + loger.log('newTimenewTimenewTimenewTime',timer)
  471 + if (item) {
  472 + let curInfo = this._format(curriculumList, {
  473 + _infoTit: item.meeting_name,
  474 + _meetingNumber: item.meetingNumber,
  475 + _countDown:timer ,
  476 + _isShow: (timer == '已结束') ? 'none' : 'block'
  477 + })
  478 + myCurriculumInfo.append(curInfo);
  479 + } else {
  480 + console.error('_gainClassData没数据')
  481 + }
  482 +
  483 + }
  484 + }
  485 + }
  486 + }
  487 + //学生端首页学习数据
  488 + _studentStudyModule(studentMyCenterContentList){
  489 + let that = this;
  490 + this._studentCurriculumInfo(4,function(_data){
  491 + if(_data){
  492 + that.studentStudyList(studentMyCenterContentList,_data.returnData.data);
  493 + }
  494 + })
  495 + }
  496 + studentStudyList(studentMyCenterContentList,_data){
  497 + studentMyCenterContentList.empty();
  498 + $('#courseMinutePageBox').hide();
  499 + let recordData = 0;
  500 + if(_data){
  501 + for(let i = 0;i<_data.length;i++){
  502 + if(_data[i]){
  503 + if(ClassDataProxy.getTimeDay(_data[i].meetingBeginTime)){
  504 + let j = (i%4)==3;
  505 + let _classifyList = this._format(classifyList,{
  506 + _classifyListR : j?'classifyListR':'',
  507 + _isShowTitle : 'none',
  508 + _meetingNumber : _data[i].meetingNumber,
  509 + _msgImg : '../images/u373.png',
  510 + _meetingName : _data[i].meeting_name,
  511 + _create_user : _data[i].teacherName,
  512 + _liveTimer : _data[i].meetingBeginTime.split(' ')[0]
  513 + })
  514 + studentMyCenterContentList.append(_classifyList)
  515 + }else{
  516 + recordData = 1;
  517 + }
  518 + }else{
  519 + console.error('_gainClassData没数据')
  520 + }
  521 + }
  522 + }
  523 + if(recordData == 1){
  524 + let _classifyList = '<div class="dataCenterErrorTitle">暂无数据~</div>'
  525 + studentMyCenterContentList.append(_classifyList)
  526 + }
  527 +
  528 + }
  529 + //已学完
  530 + _studentStudyOverModule(studentMyCenterContentList){
  531 + let that = this;
  532 + this._studentCurriculumInfo(4,function(_data){
  533 + that.studentStudyOverList(studentMyCenterContentList,_data.returnData.data);
  534 + })
  535 + }
  536 + studentStudyOverList(studentMyCenterContentList,_data){
  537 + studentMyCenterContentList.empty();
  538 + $('#courseMinutePageBox').hide();
  539 + for(let i = 0;i<_data.length;i++){
  540 + if(_data[i]){
  541 + if(!ClassDataProxy.getTimeDay(_data[i].meetingBeginTime)){
  542 + let j = (i%4)==3;
  543 + let _classifyList = this._format(classifyList,{
  544 + _classifyListR : j?'classifyListR':'',
  545 + _isShowTitle : 'none',
  546 + _meetingNumber : _data[i].meetingNumber,
  547 + _msgImg : '../images/u373.png',
  548 + _meetingName : _data[i].meeting_name,
  549 + _create_user : _data[i].teacherName,
  550 + _liveTimer : _data[i].meetingBeginTime.split(' ')[0]
  551 + })
  552 + studentMyCenterContentList.append(_classifyList)
  553 + }
  554 + }else{
  555 + console.error('_gainClassData没数据')
  556 + }
  557 + }
  558 +
  559 + }
  560 + _studenTcollectModule(studentMyCenterContentList){
  561 + let that = this;
  562 + this._studentCurriculumInfo(4,function(_data){
  563 + that.studentTcollectList(studentMyCenterContentList,_data.returnData.data);
  564 + })
  565 + }
  566 + studentTcollectList(studentMyCenterContentList,_data){
  567 + studentMyCenterContentList.empty();
  568 + $('#courseMinutePageBox').hide();
  569 + /* for(let i = 0;i<_data.length;i++){
  570 + if(_data[i]){
  571 + if(!ClassDataProxy.getTimeDay(_data[i].meetingBeginTime)){
  572 + let j = (i%4)==3;
  573 + let _classifyList = this._format(classifyList,{
  574 + _classifyListR : j?'classifyListR':'',
  575 + _isShowTitle : 'none',
  576 + _meetingNumber : _data[i].meetingNumber,
  577 + _msgImg : '../images/u373.png',
  578 + _meetingName : _data[i].meeting_name,
  579 + _create_user : _data[i].teacherName,
  580 + _liveTimer : _data[i].meetingBeginTime.split(' ')[0]
  581 + })
  582 + studentMyCenterContentList.append(_classifyList)
  583 + }
  584 + }else{
  585 + console.error('_gainClassData没数据')
  586 + }
  587 + }*/
  588 +
  589 + }
  590 + clearLocalStorage(){
  591 + window.localStorage.clear();
  592 + ClassDataProxy.userType = ClassDataProxy.USER_TYPE_0;
  593 + ClassDataProxy.loginName ="";
  594 + ClassDataProxy.password =""
  595 + ClassDataProxy.token ="";
  596 + ClassDataProxy.status = false;
  597 +
  598 + }
  599 + //我的预约
  600 + myBookingsMessage(){
  601 + if(ClassDataProxy.userType == ClassDataProxy.USER_TYPE_1){
  602 +
  603 + }else if(ClassDataProxy.userType == ClassDataProxy.USER_TYPE_8){
  604 + this.studentBookings();
  605 + }
  606 + }
  607 + studentBookings(){
  608 + let that = this;
  609 + let data = $('#subscribeList').find('.liveInfoLeftLiCheck').attr('data');
  610 + this._studentCurriculumInfo(12,function(_data){
  611 + if(_data){
  612 + if(data == '1'){
  613 + that._studentSubscribeTeacher(_data.returnData.data)
  614 + }else{
  615 + that._studentSubscribe(_data.returnData.data)
  616 + }
  617 +
  618 + }
  619 + });
  620 +
  621 + }
  622 + _studentSubscribe(_data){
  623 + let teacherCorrelatedInfo = $('#teacherCorrelatedInfo');
  624 + teacherCorrelatedInfo.empty();
  625 + for(let i = 0;i<_data.length;i++){
  626 + if(_data[i]){
  627 + let j = (i%4)==3;
  628 + let _classifyList = this._format(classifyList,{
  629 + _classifyListR : j?'classifyListR':'',
  630 + _isShowTitle : 'none',
  631 + _meetingNumber : _data[i].meetingNumber,
  632 + _msgImg : '../images/u373.png',
  633 + _meetingName : _data[i].meeting_name,
  634 + _create_user : _data[i].teacherName,
  635 + _liveTimer : _data[i].meetingBeginTime.split(' ')[0],
  636 + _studentMeetingId : _data[i].studentMeetingId
  637 + })
  638 + teacherCorrelatedInfo.append(_classifyList)
  639 +
  640 + }else{
  641 + console.error('_gainClassData没数据')
  642 + }
  643 + }
  644 +
  645 + }
  646 + _studentSubscribeTeacher(_data){
  647 + let teacherCorrelatedInfo = $('#teacherCorrelatedInfo');
  648 + teacherCorrelatedInfo.empty();
  649 + if(_data){
  650 + this.teacherList={};
  651 + for(let i = 0;i<_data.length;i++){
  652 + let item=_data[i];
  653 + if(item){
  654 + let temp = item.teacherName;
  655 + if(!this.teacherList[temp]) {
  656 + this.teacherList[temp] = [];
  657 + }
  658 + this.teacherList[temp].push(item)
  659 + }
  660 + }
  661 + for( let key in this.teacherList){
  662 + let teacherInfo = ''
  663 + let arrList = this.teacherList[key];
  664 + teacherInfo = this._format(teacherInfoLeft,{
  665 + _teacherName : key,
  666 + // meetingNumber
  667 + })
  668 + for(let n = 0;n<arrList.length;n++){
  669 + teacherInfo += this._format(teacherInfoCenter,{
  670 + _imgSrc : 'images/u374.png',
  671 + _id : arrList[n].teacherName
  672 + })
  673 + }
  674 + teacherInfo += this._format(teacherInfoRight,{
  675 + _teacherName : key
  676 + })
  677 + teacherCorrelatedInfo.append(teacherInfo)
  678 + }
  679 + }
  680 + }
  681 + //我的课程
  682 + myCoursesMessage(){
  683 + if(ClassDataProxy.userType == ClassDataProxy.USER_TYPE_1){
  684 + this.teacherCourses();
  685 + $('#courseInfoList').hide();
  686 + $('#teacherLiveList').show();
  687 + }else if(ClassDataProxy.userType == ClassDataProxy.USER_TYPE_8){
  688 + this.studentCourses();
  689 + $('#courseInfoList').show();
  690 + $('#teacherLiveList').hide();
  691 + }
  692 + }
  693 + teacherCourses(){
  694 + let _index = $('#teacherLiveList .liveInfoLeftLiCheck').attr('data');
  695 + let courseMinuteList = $('#courseMinuteList');
  696 + switch (parseInt(_index)){
  697 + case 0:
  698 + //正在直播
  699 + loger.log('直播首页信息')
  700 + this.teacherNowLiveModule(1);
  701 + break;
  702 + case 1:
  703 + //未开始
  704 + this.teacherNoneLiveModule(1);
  705 + loger.log('直播首页信息1')
  706 + break;
  707 + case 2:
  708 + //已结束
  709 + break;
  710 + default:
  711 + return;
  712 + }
  713 +
  714 + }
  715 + teacherNowLiveModule(ind){
  716 + let data = {siteId:ClassDataProxy.siteId,create_user : ClassDataProxy.loginName,meetingStatus:1};
  717 + let that = this;
  718 + this._teacherCurriculumInfo(data,12,ind,function(_data){
  719 + //首页直播信息渲染
  720 + if(_data){
  721 + // loger.log('首页直播信息渲染',_data)
  722 + that._teacherCourse(_data.returnData.data);
  723 + }
  724 + })
  725 + }
  726 + teacherNoneLiveModule(ind){
  727 + let data = {siteId:ClassDataProxy.siteId,create_user : ClassDataProxy.loginName};
  728 + let that = this;
  729 + this._teacherCurriculumInfo(data,12,ind,function(_data){
  730 + //首页直播信息渲染
  731 + if(_data){
  732 + that._teacherCourse(_data.returnData.data);
  733 + }
  734 + })
  735 + }
  736 + //老师端课程数据
  737 + _teacherCourseRender(_data){
  738 + let courseMinuteList = $('#courseMinuteList');
  739 + courseMinuteList.empty();
  740 + let count = _data.count;
  741 + let page = _data.page;
  742 + let pageno = _data.pageno;
  743 + let pagenum = Math.ceil(count / pageno);
  744 + let _dataList = _data.meetingInfo;
  745 + this.pageNo = pagenum;
  746 + $('#courseMinutePageMsg').html('第'+page+'页/共'+pagenum+'页,有'+count+'个记录');
  747 +
  748 + if(count <= 12){
  749 + $('#courseMinutePageBox').hide();
  750 + }
  751 + //存储数据按日期分类
  752 + this.dataList={};
  753 + for(let i = 0;i<_dataList.length;i++){
  754 + let item=_dataList[i];
  755 + if(item){
  756 + let temp = item.beginTime.split(' ')[0]
  757 + if(!this.dataList[temp]) {
  758 + this.dataList[temp] = [];
  759 + }
  760 + this.dataList[temp].push(item)
  761 + }
  762 + }
  763 + for(let key in this.dataList){
  764 + let j = (key%4)==3;
  765 + let arrList = this.dataList[key];
  766 + if(arrList){
  767 + for(let n = 0;n<arrList.length;n++){
  768 + let _classifyList = this._format(classifyList,{
  769 + _classifyListR : j?'classifyListR':'',
  770 + _isShowTitle : n == 0 ?'block':'none',
  771 + _meetingNumber : arrList[n].meetingNumber,
  772 + _msgImg : '../images/u373.png',
  773 + _meetingName : arrList[n].meetingName,
  774 + _create_user : arrList[n].create_user,
  775 + _liveTimer : key
  776 + })
  777 + courseMinuteList.append(_classifyList)
  778 + }
  779 + }
  780 + }
  781 + }
  782 + //学生端 我的课程 切换
  783 + studentCourses(){
  784 + let ind = $('#courseInfoList .liveInfoLeftLiCheck').attr('data');
  785 + let courseMinuteList = $('#courseMinuteList');
  786 + switch (parseInt(ind)){
  787 + case 0:
  788 + //待学习
  789 + this.studentFutureModule(courseMinuteList);
  790 + break;
  791 + case 1:
  792 + //已学完
  793 + this.studentFormerlyModule(courseMinuteList);
  794 + break;
  795 + case 2:
  796 + //收藏
  797 + this.studentCollectModule(courseMinuteList);
  798 + break;
  799 + default:
  800 + return;
  801 + }
  802 +
  803 + }
  804 + //学生端 我的课程 待学习
  805 + studentFutureModule(courseMinuteList){
  806 + let that = this;
  807 + this._studentCurriculumInfo(12,function(_data){
  808 + if(_data){
  809 + that._studentCourseRender(courseMinuteList,_data.returnData.data)
  810 + }
  811 + });
  812 +
  813 + }
  814 + //学生端课程数据 待学习
  815 + _studentCourseRender(courseMinuteList,_data){
  816 + courseMinuteList.empty();
  817 + let count = _data.count;
  818 + let page = _data.page;
  819 + let pageno = _data.pageno;
  820 + let pagenum = Math.ceil(count / pageno);
  821 + let _dataList = _data;
  822 + this.pageNo = pagenum;
  823 + let recordData = 0;
  824 + $('#courseMinutePageMsg').html('第'+page+'页/共'+pagenum+'页,有'+count+'个记录');
  825 +
  826 + if(count <= 12){
  827 + $('#courseMinutePageBox').hide();
  828 + }
  829 + //存储数据按日期分类
  830 + this.dataList={};
  831 + //if(ClassDataProxy.getTimeDay(_data[i].meetingBeginTime)){
  832 + for(let i = 0;i<_dataList.length;i++){
  833 + let item=_dataList[i];
  834 + if(item){
  835 + let temp = item.meetingBeginTime.split(' ')[0]
  836 + if(!this.dataList[temp]) {
  837 + this.dataList[temp] = [];
  838 + }
  839 + this.dataList[temp].push(item)
  840 + }
  841 + }
  842 + for(let key in this.dataList){
  843 + if(ClassDataProxy.getTimeDay(key)){
  844 + let arrList = this.dataList[key];
  845 + if(arrList){
  846 + for(let n = 0;n<arrList.length;n++){
  847 + let j = (n%4) == 3;
  848 + let _classifyList = this._format(classifyList,{
  849 + _classifyListR : j ?'classifyListR':'',
  850 + _isShowTitle : n == 0 ?'block':'none',
  851 + _meetingNumber : arrList[n].meetingNumber,
  852 + _msgImg : '../images/u373.png',
  853 + _meetingName : arrList[n].meeting_name,
  854 + _create_user : arrList[n].teacherName,
  855 + _liveTimer : key
  856 + })
  857 + courseMinuteList.append(_classifyList)
  858 + }
  859 + }
  860 + }else {
  861 + recordData = 1;
  862 + }
  863 + }
  864 + if(recordData == 1){
  865 + let _classifyList = '<div class="dataCenterErrorTitle">暂无数据~</div>'
  866 + courseMinuteList.append(_classifyList)
  867 + }
  868 + }
  869 + //学生端 我的课程 已学完
  870 + studentFormerlyModule(courseMinuteList){
  871 + let that = this;
  872 + this._studentCurriculumInfo(12,function(_data){
  873 + if(_data){
  874 + that._studentFormerlyRender(courseMinuteList,_data.returnData.data)
  875 + }
  876 + });
  877 + }
  878 + //学生端课程数据 已学完
  879 + _studentFormerlyRender(courseMinuteList,_data){
  880 + courseMinuteList.empty();
  881 + let count = _data.count;
  882 + let page = _data.page;
  883 + let pageno = _data.pageno;
  884 + let pagenum = Math.ceil(count / pageno);
  885 + let _dataList = _data;
  886 + this.pageNo = pagenum;
  887 + $('#courseMinutePageMsg').html('第'+page+'页/共'+pagenum+'页,有'+count+'个记录');
  888 +
  889 + if(count <= 12){
  890 + $('#courseMinutePageBox').hide();
  891 + }
  892 + //存储数据按日期分类
  893 + this.dataList={};
  894 + for(let i = 0;i<_dataList.length;i++){
  895 + let item=_dataList[i];
  896 + if(item){
  897 + let temp = item.meetingBeginTime.split(' ')[0]
  898 + if(!this.dataList[temp]) {
  899 + this.dataList[temp] = [];
  900 + }
  901 + this.dataList[temp].push(item)
  902 + }
  903 + }
  904 + for(let key in this.dataList){
  905 + if(!ClassDataProxy.getTimeDay(key)){
  906 + let arrList = this.dataList[key];
  907 + if(arrList){
  908 + for(let n = 0;n<arrList.length;n++){
  909 + let j = (n%4) == 3;
  910 + let _classifyList = this._format(classifyList,{
  911 + _classifyListR : j ?'classifyListR':'',
  912 + _isShowTitle : n == 0 ?'block':'none',
  913 + _meetingNumber : arrList[n].meetingNumber,
  914 + _msgImg : '../images/u373.png',
  915 + _meetingName : arrList[n].meeting_name,
  916 + _create_user : arrList[n].teacherName,
  917 + _liveTimer : key
  918 + })
  919 + courseMinuteList.append(_classifyList)
  920 + }
  921 + }
  922 + }
  923 +
  924 + }
  925 + }
  926 + //学生端 我的课程 收藏
  927 + studentCollectModule(courseMinuteList){
  928 + let that = this;
  929 + this._studentCurriculumInfo(12,function(_data){
  930 + if(_data){
  931 + that._studentCollectRender(courseMinuteList,_data.returnData.data)
  932 + }
  933 + });
  934 + }
  935 + //学生端课程数据 收藏
  936 + _studentCollectRender(courseMinuteList,_data){
  937 + loger.log('收藏',_data)
  938 + courseMinuteList.empty();
  939 + let count = _data.count;
  940 + let page = _data.page;
  941 + let pageno = _data.pageno;
  942 + let pagenum = Math.ceil(count / pageno);
  943 + let _dataList = _data;
  944 + this.pageNo = pagenum;
  945 + $('#courseMinutePageMsg').html('第'+page+'页/共'+pagenum+'页,有'+count+'个记录');
  946 +
  947 + if(count <= 12){
  948 + $('#courseMinutePageBox').hide();
  949 + }
  950 + //存储数据按日期分类
  951 + this.dataList={};
  952 + for(let i = 0;i<_dataList.length;i++){
  953 + let item=_dataList[i];
  954 + if(item){
  955 + let temp = item.meetingBeginTime.split(' ')[0]
  956 + if(!this.dataList[temp]) {
  957 + this.dataList[temp] = [];
  958 + }
  959 + this.dataList[temp].push(item)
  960 + }
  961 + }
  962 +
  963 +
  964 + // let arrList = this.dataList[key];
  965 + if(_dataList){
  966 + for(let n = 0;n<_dataList.length;n++){
  967 + let j = (n%4) == 3;
  968 + let _classifyList = this._format(classifyList,{
  969 + _classifyListR : j ?'classifyListR':'',
  970 + _isShowTitle : 'none',
  971 + _meetingNumber : _dataList[n].meetingNumber,
  972 + _msgImg : '../images/u373.png',
  973 + _meetingName : _dataList[n].meeting_name,
  974 + _create_user : _dataList[n].teacherName,
  975 + // _liveTimer : key
  976 + })
  977 + courseMinuteList.append(_classifyList)
  978 + }
  979 + }
  980 +
  981 +
  982 +
  983 + }
  984 + //老师端首页显示课程
  985 + _teacherHomeCourse(_data){
  986 + let myCurriculumInfo = $('#myCurriculumInfo');
  987 + myCurriculumInfo.empty();
  988 + if(_data){
  989 + for(let i = 0;i < 3;i++){
  990 + let item = _data[i];
  991 + if(item){
  992 + let curInfo = this._format(curriculumList,{
  993 + _infoTit : item.meetingName,
  994 + _meetingNumber : item.meetingNumber,
  995 + _countDown : that.loadMeeting(item),
  996 + _isShow : (that.loadMeeting(item)=='已开始')?'block':'none'
  997 + })
  998 + myCurriculumInfo.append(curInfo);
  999 + }else{
  1000 + console.error('_gainClassData没数据')
  1001 + }
  1002 +
  1003 + }
  1004 + }
  1005 + }
  1006 + //老师端首页直播信息
  1007 + _liveClassData(_data){
  1008 + let teacherMyCenterContentList = $('#teacherMyCenterContentList');
  1009 + teacherMyCenterContentList.empty();
  1010 + let count = _data.count;
  1011 + let page = _data.page;
  1012 + let pageno = _data.pageno;
  1013 + let pagenum = Math.ceil(count / pageno);
  1014 + let _dataList = _data.meetingInfo;
  1015 + this.pageNo = pagenum;
  1016 + $('#teacherMyCerterPageMsg').html('第'+page+'页/共'+pagenum+'页,有'+count+'个记录');
  1017 + teacherMyCenterContentList.append(adminListTit)
  1018 +
  1019 + for(let i = 0;i<_dataList.length;i++){
  1020 + if(count <= 8){
  1021 + $('#teacherMyCerterPageBox').hide();
  1022 + }
  1023 + let _adminList = this._format(adminList,{
  1024 + _meetingName : _dataList[i].meetingName,
  1025 + _meetingNumber : _dataList[i].meetingNumber,
  1026 + _create_user : _dataList[i].create_user,
  1027 + _state : ClassDataProxy.getTimeEnd(_dataList[i].beginTime,_dataList[i].endTime),
  1028 + _timer : _dataList[i].beginTime + '-' + _dataList[i].endTime,
  1029 + _num : '0'
  1030 + })
  1031 + teacherMyCenterContentList.append(_adminList)
  1032 + }
  1033 + teacherMyCenterContentList.append(adminListEnd)
  1034 + }
  1035 + _myCenterBoxHandler(){
  1036 + this._showStatus();
  1037 + this.detailpage();
  1038 + if(ClassDataProxy.userType == ClassDataProxy.USER_TYPE_2){
  1039 + return;
  1040 + }
  1041 + if(ClassDataProxy.userType == ClassDataProxy.USER_TYPE_8){
  1042 + $('#slideshow').hide();
  1043 + $('#defaultBox').hide();
  1044 + $('#classifyListBox').hide();
  1045 + $('#lanclassBox').hide();
  1046 + $('#liveContentAllBox').hide();
  1047 + $('#lanclassAllBox').hide();
  1048 + $('#teacherIntroAllBox').hide();
  1049 + $('#teacherDetailBox').hide();
  1050 + }else if(ClassDataProxy.userType == ClassDataProxy.USER_TYPE_1){
  1051 +
  1052 + }
  1053 + $('#myCenterBox').show();
  1054 +
  1055 + }
  1056 + updateEmail(userEmail){
  1057 + return userEmail.replace(/(\d{2})\d{2}(\d{1})/, '$1****$2')
  1058 + }
  1059 + updateMobile(userMobile){
  1060 + return userMobile.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2')
  1061 + }
  1062 + _enterClassRoomHandler(evt){
  1063 + let ind = $(evt.target).attr('data');
  1064 + window.open('http://networkshool.xuedianyun.com/3m/attend.do?meetingNumber=' + ind);
  1065 + }
  1066 + _mouseenter(evt){
  1067 + $(evt.currentTarget).find('.accessLearningBtn').show();
  1068 + }
  1069 + _mouseleave(evt){
  1070 + $(evt.currentTarget).find('.accessLearningBtn').hide();
  1071 + }
  1072 + _cancelMouseenter(evt){
  1073 + $(evt.currentTarget).find('.cancelReservation').show();
  1074 + }
  1075 + _cancelMouseleave(evt){
  1076 + $(evt.currentTarget).find('.cancelReservation').hide();
  1077 + }
  1078 + _teacherSubscribeMoveHandler(evt){
  1079 + $('#teacherDetailBox').show();
  1080 + $('#myCenterBox').hide();
  1081 +
  1082 + let buttonIsCheck = $('#orderBtn').attr('value','0');
  1083 + if($('#orderBtn').attr('value') == '0'){
  1084 + $('#orderBtn').attr('disabled',false)
  1085 + $('#orderBtn').css('background','#ccc')
  1086 + }
  1087 +
  1088 + let teacherDetailCurriculum = $('#teacherDetailCurriculum');
  1089 + teacherDetailCurriculum.empty();
  1090 +
  1091 + let _data = $(evt.target).attr('data');
  1092 + if(_data){
  1093 + let _dataList = this.teacherList[_data];
  1094 + $('#teacherDetailInfoDetailName').html(_dataList[0].teacherName);
  1095 + for(let i = 0;i<_dataList.length;i++){
  1096 + let _teacherDetail = this._format(teacherDetail,{
  1097 + _detailList : _dataList[i].meeting_name
  1098 + })
  1099 + teacherDetailCurriculum.append(_teacherDetail)
  1100 + }
  1101 + }
  1102 + }
  1103 + //取消预约
  1104 + _cancelSubscribeHandler(evt){
  1105 + let _id = $(evt.target).attr('data');
  1106 + let _url = ClassDataProxy.locationProtocol + ClassDataProxy.locationProt + '/studentMeeting/updateStudentMeetingBySite/'+_id;
  1107 + let that = this;
  1108 + $.ajax({
  1109 + type: "PUT",
  1110 + url: _url,
  1111 + timeout:5000,
  1112 + headers: {
  1113 + siteId:ClassDataProxy.siteId,
  1114 + 'token':ClassDataProxy.token
  1115 + },
  1116 + data:{status:'5'},
  1117 + success:function(_data){
  1118 + //获取课堂数据
  1119 + if(_data && _data.code == 200){
  1120 + that.studentBookings();
  1121 + }
  1122 + },
  1123 + error:function(error){
  1124 + console.log(error,'失败')
  1125 + }
  1126 + })
  1127 +
  1128 + }
  1129 + _teacherClassDetails(evt){
  1130 + let name = $(evt.target).attr('data');
  1131 + let ind = $(evt.target).index();
  1132 + let _data = this.teacherList[name][ind]
  1133 +
  1134 + $('#lanclassBox').show();
  1135 + $('#myCenterBox').hide();
  1136 +
  1137 + $('#lanclassContentTitle').html(_data.meeting_name);
  1138 + $('#lanclassContentInfoName').html(_data.teacherName);
  1139 + $('#lanclassContentInfoTimeStart').html('开始时间:'+_data.meetingBeginTime);
  1140 + $('#lanclassContentInfoTimeEnd').html('结束时间:'+_data.meetingEndTime);
  1141 +
  1142 + }
  1143 + _judgeListPlace(){
  1144 + let i;
  1145 + let curriculumList = document.getElementsByClassName('classifyListMyCenter');
  1146 + for(i=0;i<curriculumList.length;i++){
  1147 + if((i%4) == 3){
  1148 + $(curriculumList[i]).addClass('classifyListR');
  1149 + }
  1150 + }
  1151 + }
  1152 + //切换类的公用样式
  1153 + commonality(evt){
  1154 + $(evt.currentTarget).addClass('liveInfoLeftLiCheck').siblings().removeClass('liveInfoLeftLiCheck');
  1155 + }
  1156 + _teacherInfoListHandler(evt){
  1157 + this.commonality(evt);
  1158 + }
  1159 + //学生端 首页
  1160 + _studentInfoListHandler(evt){
  1161 + this.commonality(evt);
  1162 + this.detailPageStudent();
  1163 + }
  1164 + //学生端 我的课程
  1165 + _courseInfoListHandler(evt){
  1166 + this.commonality(evt);
  1167 + this.studentCourses();
  1168 + }
  1169 + //老师端 我的课程
  1170 + _teacherLiveListHandler(evt){
  1171 + this.commonality(evt);
  1172 + this.teacherCourses();
  1173 + }
  1174 + _subscribeListHandler(evt){
  1175 + this.commonality(evt);
  1176 + this.studentBookings();
  1177 + }
  1178 + //工具类
  1179 + _format(str, obj) {
  1180 + return str.replace(/\{(\w+)\}/g, function (match, group, index) {
  1181 + return obj[group];
  1182 + });
  1183 + };
  1184 +}
  1185 +export default MyBookingsApe;
@@ -76,19 +76,18 @@ const adminList = `<tr align="center" bgcolor="#FFFFFF" height="44" bordercolor= @@ -76,19 +76,18 @@ const adminList = `<tr align="center" bgcolor="#FFFFFF" height="44" bordercolor=
76 const adminListEnd = `</tbody></table>`; 76 const adminListEnd = `</tbody></table>`;
77 77
78 //学生端显示老师信息 78 //学生端显示老师信息
79 -const teacherInfoLeft = `  
80 - <div class="teacherCorrelatedInfoBox">  
81 - <div class="teacherCorrelatedInfoLeft">  
82 - <img class="teacherCorrelatedInfoImg" id="teacherCorrelatedInfoImg" src="images/u293.png" alt="">  
83 - <div class="teacherCorrelatedInfo">  
84 - <b class="teacherCorrelatedInfoName" id="teacherCorrelatedInfoName">{_teacherName}</b>  
85 - <b class="teacherCorrelatedInfoMajor">北京市|少儿英语</b>  
86 - <b class="teacherCorrelatedInfoCourse">课程:50</b>  
87 - <span class="teacherCorrelatedInfoMajorMsg">毕业于外国语学院,专业8</span>  
88 - <p class="cancelReservationBtn"">取消预约</p> 79 +const teacherInfoLeft = `<div class="teacherCorrelatedInfoBox">
  80 + <div class="teacherCorrelatedInfoLeft">
  81 + <img class="teacherCorrelatedInfoImg" id="teacherCorrelatedInfoImg" src="images/u293.png" alt="">
  82 + <div class="teacherCorrelatedInfo">
  83 + <b class="teacherCorrelatedInfoName" id="teacherCorrelatedInfoName">{_teacherName}</b>
  84 + <b class="teacherCorrelatedInfoMajor">北京市|少儿英语</b>
  85 + <b class="teacherCorrelatedInfoCourse">课程:50</b>
  86 + <span class="teacherCorrelatedInfoMajorMsg">毕业于外国语学院,专业8</span>
  87 + <p class="cancelReservationBtn"">取消预约</p>
  88 + </div>
89 </div> 89 </div>
90 - </div>  
91 - <div class="teacherCorrelatedInfoCenter">`; 90 + <div class="teacherCorrelatedInfoCenter">`;
92 const teacherInfoCenter= `<img class="teachercourseImg" data="{_id}" src="{_imgSrc}" alt="">`; 91 const teacherInfoCenter= `<img class="teachercourseImg" data="{_id}" src="{_imgSrc}" alt="">`;
93 const teacherInfoRight = `</div> <div class="teacherCorrelatedInfoBtn" data="{_teacherName}">更多课程</div> 92 const teacherInfoRight = `</div> <div class="teacherCorrelatedInfoBtn" data="{_teacherName}">更多课程</div>
94 </div></div>`; 93 </div></div>`;
@@ -121,17 +120,6 @@ class MyCenterApe extends Ape { @@ -121,17 +120,6 @@ class MyCenterApe extends Ape {
121 120
122 $('#subscribeList .liveInfoLeftLi').on('click',this._subscribeListHandler.bind(this));//课程 老师 121 $('#subscribeList .liveInfoLeftLi').on('click',this._subscribeListHandler.bind(this));//课程 老师
123 122
124 - $('#updateInputYes').on('click',this._updateInputYesHandler.bind(this));//确定时把输入的信息存入数据中  
125 -  
126 - $('#accountInfoSaveBtn').on('click',this._accountInfoSaveBtnHandler.bind(this));//更新用户信息按钮  
127 -  
128 - $('#updateInputBoxA').on('click',this._hideInputBox.bind(this));//关闭弹框  
129 - $('#updateInputNo').on('click',this._hideInputBox.bind(this));//关闭弹框  
130 - //修改账户信息  
131 - $('#accountPassWordBtn').on('click',this._accountPassWordBtnHandler.bind(this));//密码  
132 - $('#accountEmailBtn').on('click',this._accountEmailBtnHandler.bind(this));//邮箱  
133 - $('#accountMobilelBtn').on('click',this._accountMobilelBtnHandler.bind(this));//手机号  
134 -  
135 $('#studentMyCenterContentList').on('mouseenter','.classifyListMyCenter',this._mouseenter.bind(this));//个人中心移入进入课堂 123 $('#studentMyCenterContentList').on('mouseenter','.classifyListMyCenter',this._mouseenter.bind(this));//个人中心移入进入课堂
136 $('#studentMyCenterContentList').on('mouseleave','.classifyListMyCenter',this._mouseleave.bind(this));//个人中心移出进入课堂 124 $('#studentMyCenterContentList').on('mouseleave','.classifyListMyCenter',this._mouseleave.bind(this));//个人中心移出进入课堂
137 125
@@ -389,7 +377,7 @@ class MyCenterApe extends Ape { @@ -389,7 +377,7 @@ class MyCenterApe extends Ape {
389 break; 377 break;
390 case 3: 378 case 3:
391 //个人信息 379 //个人信息
392 - this._updatMessage(); 380 + this._emit(MessageTypes.ROLE_MESSAGE);
393 break; 381 break;
394 default: 382 default:
395 return; 383 return;
@@ -516,7 +504,7 @@ class MyCenterApe extends Ape { @@ -516,7 +504,7 @@ class MyCenterApe extends Ape {
516 } 504 }
517 studentCourseList(_data){ 505 studentCourseList(_data){
518 if(_data){ 506 if(_data){
519 - loger.log('学生端首页课程信息',_data) 507 + // loger.log('学生端首页课程信息',_data)
520 let myCurriculumInfo = $('#myCurriculumInfo'); 508 let myCurriculumInfo = $('#myCurriculumInfo');
521 myCurriculumInfo.empty(); 509 myCurriculumInfo.empty();
522 let that = this; 510 let that = this;
@@ -553,25 +541,34 @@ class MyCenterApe extends Ape { @@ -553,25 +541,34 @@ class MyCenterApe extends Ape {
553 studentStudyList(studentMyCenterContentList,_data){ 541 studentStudyList(studentMyCenterContentList,_data){
554 studentMyCenterContentList.empty(); 542 studentMyCenterContentList.empty();
555 $('#courseMinutePageBox').hide(); 543 $('#courseMinutePageBox').hide();
556 - for(let i = 0;i<_data.length;i++){  
557 - if(_data[i]){  
558 - if(ClassDataProxy.getTimeDay(_data[i].meetingBeginTime)){  
559 - let j = (i%4)==3;  
560 - let _classifyList = this._format(classifyList,{  
561 - _classifyListR : j?'classifyListR':'',  
562 - _isShowTitle : 'none',  
563 - _meetingNumber : _data[i].meetingNumber,  
564 - _msgImg : '../images/u373.png',  
565 - _meetingName : _data[i].meeting_name,  
566 - _create_user : _data[i].teacherName,  
567 - _liveTimer : _data[i].meetingBeginTime.split(' ')[0]  
568 - })  
569 - studentMyCenterContentList.append(_classifyList) 544 + let recordData = 0;
  545 + if(_data){
  546 + for(let i = 0;i<_data.length;i++){
  547 + if(_data[i]){
  548 + if(ClassDataProxy.getTimeDay(_data[i].meetingBeginTime)){
  549 + let j = (i%4)==3;
  550 + let _classifyList = this._format(classifyList,{
  551 + _classifyListR : j?'classifyListR':'',
  552 + _isShowTitle : 'none',
  553 + _meetingNumber : _data[i].meetingNumber,
  554 + _msgImg : '../images/u373.png',
  555 + _meetingName : _data[i].meeting_name,
  556 + _create_user : _data[i].teacherName,
  557 + _liveTimer : _data[i].meetingBeginTime.split(' ')[0]
  558 + })
  559 + studentMyCenterContentList.append(_classifyList)
  560 + }else{
  561 + recordData = 1;
  562 + }
  563 + }else{
  564 + console.error('_gainClassData没数据')
570 } 565 }
571 - }else{  
572 - console.error('_gainClassData没数据')  
573 } 566 }
574 } 567 }
  568 + if(recordData == 1){
  569 + let _classifyList = '<div class="dataCenterErrorTitle">暂无数据~</div>'
  570 + studentMyCenterContentList.append(_classifyList)
  571 + }
575 572
576 } 573 }
577 //已学完 574 //已学完
@@ -635,73 +632,6 @@ class MyCenterApe extends Ape { @@ -635,73 +632,6 @@ class MyCenterApe extends Ape {
635 }*/ 632 }*/
636 633
637 } 634 }
638 - //提交用户信息修改  
639 - _accountInfoSaveBtnHandler(){  
640 - let id = ClassDataProxy.id;//id  
641 -  
642 - let loginName = ClassDataProxy.loginName;//登录名  
643 - let userMobile = ClassDataProxy.userMobile;//手机号  
644 - let userEmail = ClassDataProxy.userEmail;//邮箱  
645 - let monicker = ClassDataProxy.monicker;//用户名  
646 - let passWord = ClassDataProxy.password;//密码  
647 -  
648 - let oneselfInfoLoginName = $('#oneselfInfoLoginName').val();//登录名  
649 - let oneselfInfoUserName = $('#oneselfInfoUserName').val();//用户名  
650 - let oneselfInfoMan = $('#oneselfInfoMan');//性别  
651 - let setPassWord = $('#setPassWord').attr('data');//密码  
652 - let setMail = $('#setMail').attr('data');//邮箱  
653 - let setPhone = $('#setPhone').attr('data');//手机号  
654 - let signInfo = {};  
655 - if(oneselfInfoLoginName != loginName){  
656 - signInfo.loginName = oneselfInfoLoginName;  
657 - }  
658 - if(oneselfInfoUserName != monicker){  
659 - signInfo.userName = oneselfInfoUserName;  
660 - }  
661 - if(!setPassWord){  
662 - // signInfo.loginName = oneselfInfoLoginName;  
663 - }  
664 - if(setMail != userEmail){  
665 - signInfo.userEmail = setMail;  
666 - }  
667 - if(setPhone != userMobile){  
668 - signInfo.userMobile = setPhone;  
669 - }  
670 - let that = this;  
671 - let _url = ClassDataProxy.locationProtocol + ClassDataProxy.locationProt + '/users/updateUserByUserId/' + id;  
672 - $.ajax({  
673 - type: "PUT",  
674 - url: _url,  
675 - timeout:5000,  
676 - headers: {siteId:ClassDataProxy.siteId,  
677 - 'token':ClassDataProxy.token},  
678 - data:signInfo,  
679 - success:function(_data){  
680 - //获取个人信息数据  
681 - if(_data && _data.code == 200){  
682 - loger.log('修改信息成功',_data)  
683 -  
684 - ErrorApe.showWarnError('修改信息成功');  
685 - ClassDataProxy.loginName =_data.returnData.data.loginName;  
686 - ClassDataProxy.monicker = _data.returnData.data.userName;  
687 - ClassDataProxy.userEmail = _data.returnData.data.userEmail;  
688 - ClassDataProxy.userMobile = _data.returnData.data.userMobile;  
689 - window.localStorage.setItem('loginName', ClassDataProxy.loginName);  
690 - window.localStorage.setItem('monicker', ClassDataProxy.monicker);  
691 - window.localStorage.setItem('userEmail', ClassDataProxy.userEmail);  
692 - window.localStorage.setItem('userMobile', ClassDataProxy.userMobile);  
693 - $('#teacherMyCenterName').html(ClassDataProxy.loginName);  
694 - }else if(_data.code == 400){  
695 - ErrorApe.showWarnError('账号未修改');  
696 - }else{  
697 - ErrorApe.showWarnError(_data.returnData.data.msg);  
698 - }  
699 - },  
700 - error:function(error){  
701 - loger.log(error,'修改信息失败')  
702 - }  
703 - })  
704 - }  
705 clearLocalStorage(){ 635 clearLocalStorage(){
706 window.localStorage.clear(); 636 window.localStorage.clear();
707 ClassDataProxy.userType = ClassDataProxy.USER_TYPE_0; 637 ClassDataProxy.userType = ClassDataProxy.USER_TYPE_0;
@@ -711,11 +641,6 @@ class MyCenterApe extends Ape { @@ -711,11 +641,6 @@ class MyCenterApe extends Ape {
711 ClassDataProxy.status = false; 641 ClassDataProxy.status = false;
712 642
713 } 643 }
714 - //个人信息  
715 - _updatMessage(){  
716 - $('#oneselfInfoLoginName').val( ClassDataProxy.loginName);//登录名  
717 - $('#oneselfInfoUserName').val(ClassDataProxy.monicker);//用户名  
718 - }  
719 //我的预约 644 //我的预约
720 myBookingsMessage(){ 645 myBookingsMessage(){
721 if(ClassDataProxy.userType == ClassDataProxy.USER_TYPE_1){ 646 if(ClassDataProxy.userType == ClassDataProxy.USER_TYPE_1){
@@ -940,6 +865,7 @@ class MyCenterApe extends Ape { @@ -940,6 +865,7 @@ class MyCenterApe extends Ape {
940 let pagenum = Math.ceil(count / pageno); 865 let pagenum = Math.ceil(count / pageno);
941 let _dataList = _data; 866 let _dataList = _data;
942 this.pageNo = pagenum; 867 this.pageNo = pagenum;
  868 + let recordData = 0;
943 $('#courseMinutePageMsg').html('第'+page+'页/共'+pagenum+'页,有'+count+'个记录'); 869 $('#courseMinutePageMsg').html('第'+page+'页/共'+pagenum+'页,有'+count+'个记录');
944 870
945 if(count <= 12){ 871 if(count <= 12){
@@ -976,8 +902,13 @@ class MyCenterApe extends Ape { @@ -976,8 +902,13 @@ class MyCenterApe extends Ape {
976 courseMinuteList.append(_classifyList) 902 courseMinuteList.append(_classifyList)
977 } 903 }
978 } 904 }
  905 + }else {
  906 + recordData = 1;
979 } 907 }
980 - 908 + }
  909 + if(recordData == 1){
  910 + let _classifyList = '<div class="dataCenterErrorTitle">暂无数据~</div>'
  911 + courseMinuteList.append(_classifyList)
981 } 912 }
982 } 913 }
983 //学生端 我的课程 已学完 914 //学生端 我的课程 已学完
@@ -1042,13 +973,13 @@ class MyCenterApe extends Ape { @@ -1042,13 +973,13 @@ class MyCenterApe extends Ape {
1042 let that = this; 973 let that = this;
1043 this._studentCurriculumInfo(12,function(_data){ 974 this._studentCurriculumInfo(12,function(_data){
1044 if(_data){ 975 if(_data){
1045 - loger.log('显示收藏数据',_data)  
1046 that._studentCollectRender(courseMinuteList,_data.returnData.data) 976 that._studentCollectRender(courseMinuteList,_data.returnData.data)
1047 } 977 }
1048 }); 978 });
1049 } 979 }
1050 //学生端课程数据 收藏 980 //学生端课程数据 收藏
1051 _studentCollectRender(courseMinuteList,_data){ 981 _studentCollectRender(courseMinuteList,_data){
  982 + loger.log('收藏',_data)
1052 courseMinuteList.empty(); 983 courseMinuteList.empty();
1053 let count = _data.count; 984 let count = _data.count;
1054 let page = _data.page; 985 let page = _data.page;
@@ -1073,27 +1004,27 @@ class MyCenterApe extends Ape { @@ -1073,27 +1004,27 @@ class MyCenterApe extends Ape {
1073 this.dataList[temp].push(item) 1004 this.dataList[temp].push(item)
1074 } 1005 }
1075 } 1006 }
1076 - for(let key in this.dataList){  
1077 - if(!ClassDataProxy.getTimeDay(key)){  
1078 - let arrList = this.dataList[key];  
1079 - if(arrList){  
1080 - for(let n = 0;n<arrList.length;n++){ 1007 +
  1008 +
  1009 + // let arrList = this.dataList[key];
  1010 + if(_dataList){
  1011 + for(let n = 0;n<_dataList.length;n++){
1081 let j = (n%4) == 3; 1012 let j = (n%4) == 3;
1082 let _classifyList = this._format(classifyList,{ 1013 let _classifyList = this._format(classifyList,{
1083 _classifyListR : j ?'classifyListR':'', 1014 _classifyListR : j ?'classifyListR':'',
1084 - _isShowTitle : n == 0 ?'block':'none',  
1085 - _meetingNumber : arrList[n].meetingNumber, 1015 + _isShowTitle : 'none',
  1016 + _meetingNumber : _dataList[n].meetingNumber,
1086 _msgImg : '../images/u373.png', 1017 _msgImg : '../images/u373.png',
1087 - _meetingName : arrList[n].meeting_name,  
1088 - _create_user : arrList[n].teacherName,  
1089 - _liveTimer : key 1018 + _meetingName : _dataList[n].meeting_name,
  1019 + _create_user : _dataList[n].teacherName,
  1020 + // _liveTimer : key
1090 }) 1021 })
1091 - // courseMinuteList.append(_classifyList) 1022 + courseMinuteList.append(_classifyList)
1092 } 1023 }
1093 } 1024 }
1094 - }  
1095 1025
1096 - } 1026 +
  1027 +
1097 } 1028 }
1098 //老师端首页显示课程 1029 //老师端首页显示课程
1099 _teacherHomeCourse(_data){ 1030 _teacherHomeCourse(_data){
@@ -1146,23 +1077,6 @@ class MyCenterApe extends Ape { @@ -1146,23 +1077,6 @@ class MyCenterApe extends Ape {
1146 } 1077 }
1147 teacherMyCenterContentList.append(adminListEnd) 1078 teacherMyCenterContentList.append(adminListEnd)
1148 } 1079 }
1149 -  
1150 -  
1151 - //修改密码  
1152 - _accountPassWordBtnHandler(){  
1153 - this.data = 0;  
1154 - this._showInputBox(this.data);  
1155 - }  
1156 - //修改邮箱  
1157 - _accountEmailBtnHandler(){  
1158 - this.data = 1;  
1159 - this._showInputBox(this.data);  
1160 - }  
1161 - //修改手机号  
1162 - _accountMobilelBtnHandler(){  
1163 - this.data = 2;  
1164 - this._showInputBox(this.data);  
1165 - }  
1166 _myCenterBoxHandler(){ 1080 _myCenterBoxHandler(){
1167 this._showStatus(); 1081 this._showStatus();
1168 this.detailpage(); 1082 this.detailpage();
@@ -1184,57 +1098,6 @@ class MyCenterApe extends Ape { @@ -1184,57 +1098,6 @@ class MyCenterApe extends Ape {
1184 $('#myCenterBox').show(); 1098 $('#myCenterBox').show();
1185 1099
1186 } 1100 }
1187 - _updateInputYesHandler(evt){  
1188 - let updateInput = $('#updateInput').val();  
1189 - switch (parseInt(this.data)){  
1190 - case 0:  
1191 - //密码  
1192 - let reg = /^[0-9a-zA-Z]{8,12}$/;  
1193 - if(!updateInput || !(reg.test(updateInput))){  
1194 - ErrorApe.showWarnError('密码格式不正确,请重新输入');  
1195 - return;  
1196 - }  
1197 - $('#setPassWord').attr('data',updateInput);  
1198 - this._hideInputBox();  
1199 - break;  
1200 - case 1:  
1201 - //邮箱  
1202 - let filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;  
1203 - if(!updateInput || !(filter.test(updateInput))){  
1204 - ErrorApe.showWarnError('邮箱格式不正确,请重新输入');  
1205 - return;  
1206 - }  
1207 - $('#setMail').attr('data',updateInput);  
1208 - $('#setMail').html(this.updateEmail(updateInput))  
1209 - this._hideInputBox();  
1210 - break;  
1211 - case 2:  
1212 - //手机号  
1213 - let reg1 = /^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\\d{8}$/;  
1214 - let regPhone = "^1[3|4|5|8][0-9]\\d{8}$";  
1215 - let re = new RegExp(regPhone);  
1216 - if(!updateInput || !(re.test(updateInput))){  
1217 - ErrorApe.showWarnError('手机格式不正确,请重新输入');  
1218 - return;  
1219 - }  
1220 - $('#setPhone').attr('data',updateInput);  
1221 - $('#setPhone').html(this.updateMobile(updateInput))  
1222 - this._hideInputBox();  
1223 - break;  
1224 - default:  
1225 - return;  
1226 - }  
1227 -  
1228 - }  
1229 - _hideInputBox(){  
1230 - $('#updateInput').val('');  
1231 - $('#updateInputShade').hide();  
1232 - }  
1233 - _showInputBox(ind){  
1234 - let arr = ['请输入新密码 :','请输入新邮箱 :','请输入新手机号 :']  
1235 - $('#updateInputShade').show();  
1236 - $('#updateInputText').text(arr[ind])  
1237 - }  
1238 updateEmail(userEmail){ 1101 updateEmail(userEmail){
1239 return userEmail.replace(/(\d{2})\d{2}(\d{1})/, '$1****$2') 1102 return userEmail.replace(/(\d{2})\d{2}(\d{1})/, '$1****$2')
1240 } 1103 }
@@ -1107,11 +1107,11 @@ class MyCenterStudentApe extends Ape { @@ -1107,11 +1107,11 @@ class MyCenterStudentApe extends Ape {
1107 $('#teacherDetailBox').show(); 1107 $('#teacherDetailBox').show();
1108 $('#myCenterBox').hide(); 1108 $('#myCenterBox').hide();
1109 1109
1110 - let buttonIsCheck = $('#orderBtn').attr('value','0'); 1110 + /* let buttonIsCheck = $('#orderBtn').attr('value','0');
1111 if($('#orderBtn').attr('value') == '0'){ 1111 if($('#orderBtn').attr('value') == '0'){
1112 $('#orderBtn').attr('disabled',false) 1112 $('#orderBtn').attr('disabled',false)
1113 $('#orderBtn').css('background','#ccc') 1113 $('#orderBtn').css('background','#ccc')
1114 - } 1114 + }*/
1115 1115
1116 let teacherDetailCurriculum = $('#teacherDetailCurriculum'); 1116 let teacherDetailCurriculum = $('#teacherDetailCurriculum');
1117 teacherDetailCurriculum.empty(); 1117 teacherDetailCurriculum.empty();
@@ -1226,11 +1226,11 @@ class MyCenterTeacherApe extends Ape { @@ -1226,11 +1226,11 @@ class MyCenterTeacherApe extends Ape {
1226 $('#teacherDetailBox').show(); 1226 $('#teacherDetailBox').show();
1227 $('#myCenterBox').hide(); 1227 $('#myCenterBox').hide();
1228 1228
1229 - let buttonIsCheck = $('#orderBtn').attr('value','0'); 1229 + /*let buttonIsCheck = $('#orderBtn').attr('value','0');
1230 if($('#orderBtn').attr('value') == '0'){ 1230 if($('#orderBtn').attr('value') == '0'){
1231 $('#orderBtn').attr('disabled',false) 1231 $('#orderBtn').attr('disabled',false)
1232 $('#orderBtn').css('background','#ccc') 1232 $('#orderBtn').css('background','#ccc')
1233 - } 1233 + }*/
1234 1234
1235 let teacherDetailCurriculum = $('#teacherDetailCurriculum'); 1235 let teacherDetailCurriculum = $('#teacherDetailCurriculum');
1236 teacherDetailCurriculum.empty(); 1236 teacherDetailCurriculum.empty();
  1 +//*
  2 +// 首页模块
  3 +// */
  4 +
  5 +import Loger from "../Loger";
  6 +import Ape from "./Ape";
  7 +import $ from "jquery";
  8 +import ClassDataProxy from "proxy/ClassDataProxy";
  9 +import ErrorApe from "./ErrorApe";
  10 +
  11 +let loger = Loger.getLoger('PC-MyChangeInfoApe');
  12 +class MyChangeInfoApe extends Ape {
  13 + constructor() {
  14 + super();
  15 + this.addEvent();
  16 + this.init();
  17 + }
  18 +
  19 + init() {
  20 + $('#updateInputYes').on('click',this._updateInputYesHandler.bind(this));//确定时把输入的信息存入数据中
  21 + $('#accountInfoSaveBtn').on('click',this._accountInfoSaveBtnHandler.bind(this));//更新用户信息按钮
  22 + $('#updateInputBoxA').on('click',this._hideInputBox.bind(this));//关闭弹框
  23 + $('#updateInputNo').on('click',this._hideInputBox.bind(this));//关闭弹框
  24 + //修改账户信息
  25 + $('#accountPassWordBtn').on('click',this._accountPassWordBtnHandler.bind(this));//密码
  26 + $('#accountEmailBtn').on('click',this._accountEmailBtnHandler.bind(this));//邮箱
  27 + $('#accountMobilelBtn').on('click',this._accountMobilelBtnHandler.bind(this));//手机号
  28 +
  29 +
  30 + }
  31 +
  32 + addEvent() {
  33 +
  34 + }
  35 +
  36 + //修改密码
  37 + _accountPassWordBtnHandler(){
  38 + this.data = 0;
  39 + this._showInputBox(this.data);
  40 + }
  41 + //修改邮箱
  42 + _accountEmailBtnHandler(){
  43 + this.data = 1;
  44 + this._showInputBox(this.data);
  45 + }
  46 + //修改手机号
  47 + _accountMobilelBtnHandler(){
  48 + this.data = 2;
  49 + this._showInputBox(this.data);
  50 + }
  51 + _updateInputYesHandler(evt){
  52 + let updateInput = $('#updateInput').val();
  53 + switch (parseInt(this.data)){
  54 + case 0:
  55 + //密码
  56 + let reg = /^[0-9a-zA-Z]{8,12}$/;
  57 + if(!updateInput || !(reg.test(updateInput))){
  58 + ErrorApe.showWarnError('密码格式不正确,请重新输入');
  59 + return;
  60 + }
  61 + $('#setPassWord').attr('data',updateInput);
  62 + this._hideInputBox();
  63 + break;
  64 + case 1:
  65 + //邮箱
  66 + let filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  67 + if(!updateInput || !(filter.test(updateInput))){
  68 + ErrorApe.showWarnError('邮箱格式不正确,请重新输入');
  69 + return;
  70 + }
  71 + $('#setMail').attr('data',updateInput);
  72 + $('#setMail').html(this.updateEmail(updateInput))
  73 + this._hideInputBox();
  74 + break;
  75 + case 2:
  76 + //手机号
  77 + let reg1 = /^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\\d{8}$/;
  78 + let regPhone = "^1[3|4|5|8][0-9]\\d{8}$";
  79 + let re = new RegExp(regPhone);
  80 + if(!updateInput || !(re.test(updateInput))){
  81 + ErrorApe.showWarnError('手机格式不正确,请重新输入');
  82 + return;
  83 + }
  84 + $('#setPhone').attr('data',updateInput);
  85 + $('#setPhone').html(this.updateMobile(updateInput))
  86 + this._hideInputBox();
  87 + break;
  88 + default:
  89 + return;
  90 + }
  91 +
  92 + }
  93 + _hideInputBox(){
  94 + $('#updateInput').val('');
  95 + $('#updateInputShade').hide();
  96 + }
  97 + _showInputBox(ind){
  98 + let arr = ['请输入新密码 :','请输入新邮箱 :','请输入新手机号 :']
  99 + ClassDataProxy.getMarginTopHandler($('.updateInputBox'));
  100 + $('#updateInputShade').show();
  101 + $('#updateInputText').text(arr[ind])
  102 + }
  103 + updateEmail(userEmail){
  104 + return userEmail.replace(/(\d{2})\d{2}(\d{1})/, '$1****$2')
  105 + }
  106 + updateMobile(userMobile){
  107 + return userMobile.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2')
  108 + }
  109 + //提交用户信息修改
  110 + _accountInfoSaveBtnHandler(){
  111 + let id = ClassDataProxy.id;//id
  112 +
  113 + let loginName = ClassDataProxy.loginName;//登录名
  114 + let userMobile = ClassDataProxy.userMobile;//手机号
  115 + let userEmail = ClassDataProxy.userEmail;//邮箱
  116 + let monicker = ClassDataProxy.monicker;//用户名
  117 + let passWord = ClassDataProxy.password;//密码
  118 +
  119 + let oneselfInfoLoginName = $('#oneselfInfoLoginName').val();//登录名
  120 + let oneselfInfoUserName = $('#oneselfInfoUserName').val();//用户名
  121 + let oneselfInfoMan = $('#oneselfInfoMan');//性别
  122 + let setPassWord = $('#setPassWord').attr('data');//密码
  123 + let setMail = $('#setMail').attr('data');//邮箱
  124 + let setPhone = $('#setPhone').attr('data');//手机号
  125 + let signInfo = {};
  126 + if(oneselfInfoLoginName != loginName){
  127 + signInfo.loginName = oneselfInfoLoginName;
  128 + }
  129 + if(oneselfInfoUserName != monicker){
  130 + signInfo.userName = oneselfInfoUserName;
  131 + }
  132 + if(!setPassWord){
  133 + // signInfo.loginName = oneselfInfoLoginName;
  134 + }
  135 + if(setMail != userEmail){
  136 + signInfo.userEmail = setMail;
  137 + }
  138 + if(setPhone != userMobile){
  139 + signInfo.userMobile = setPhone;
  140 + }
  141 + let that = this;
  142 + let _url = ClassDataProxy.locationProtocol + ClassDataProxy.locationProt + '/users/updateUserByUserId/' + id;
  143 + $.ajax({
  144 + type: "PUT",
  145 + url: _url,
  146 + timeout:5000,
  147 + headers: {siteId:ClassDataProxy.siteId,
  148 + 'token':ClassDataProxy.token},
  149 + data:signInfo,
  150 + success:function(_data){
  151 + //获取个人信息数据
  152 + if(_data && _data.code == 200){
  153 + loger.log('修改信息成功',_data)
  154 +
  155 + ErrorApe.showWarnError('修改信息成功');
  156 + ClassDataProxy.loginName =_data.returnData.data.loginName;
  157 + ClassDataProxy.monicker = _data.returnData.data.userName;
  158 + ClassDataProxy.userEmail = _data.returnData.data.userEmail;
  159 + ClassDataProxy.userMobile = _data.returnData.data.userMobile;
  160 + window.localStorage.setItem('loginName', ClassDataProxy.loginName);
  161 + window.localStorage.setItem('monicker', ClassDataProxy.monicker);
  162 + window.localStorage.setItem('userEmail', ClassDataProxy.userEmail);
  163 + window.localStorage.setItem('userMobile', ClassDataProxy.userMobile);
  164 + $('#teacherMyCenterName').html(ClassDataProxy.loginName);
  165 + }else if(_data.code == 400){
  166 + ErrorApe.showWarnError('账号未修改');
  167 + }else{
  168 + ErrorApe.showWarnError(_data.returnData.data.msg);
  169 + }
  170 + },
  171 + error:function(error){
  172 + loger.log(error,'修改信息失败')
  173 + }
  174 + })
  175 + }
  176 + clearLocalStorage(){
  177 + window.localStorage.clear();
  178 + ClassDataProxy.userType = ClassDataProxy.USER_TYPE_0;
  179 + ClassDataProxy.loginName ="";
  180 + ClassDataProxy.password =""
  181 + ClassDataProxy.token ="";
  182 + ClassDataProxy.status = false;
  183 +
  184 + }
  185 + //个人信息
  186 + _updatMessage(){
  187 + $('#oneselfInfoLoginName').val( ClassDataProxy.loginName);//登录名
  188 + $('#oneselfInfoUserName').val(ClassDataProxy.monicker);//用户名
  189 + }
  190 +
  191 +}
  192 +export default MyChangeInfoApe;
  1 +//*
  2 +// 个人中心 我的课程
  3 +// */
  4 +
  5 +import Loger from "../Loger";
  6 +import Ape from "./Ape";
  7 +import $ from "jquery";
  8 +import ClassDataProxy from "proxy/ClassDataProxy";
  9 +import ErrorApe from "./ErrorApe";
  10 +import MessageTypes from "../MessageTypes";
  11 +
  12 +const classifyList = `<div class="courseMinuteListTimeTit" style="display: {_isShowTitle}">
  13 + <span class="courseMinuteListTime">{_liveTimer}</span>
  14 + <span class="courseMinuteListWire"></span>
  15 + </div>
  16 + <div class="classifyListMyCenter {_classifyListR}">
  17 + <div class="myCenterContentMask accessLearningBtn">
  18 + <button class="myCenterContentMaskBtn btnHover" data="{_meetingNumber}">进入学习</button>
  19 + </div>
  20 + <div class="myCenterContentMask cancelReservation">
  21 + <button class="myCenterContentMaskBtn btnHover" data="{_studentMeetingId}">取消预约</button>
  22 + </div>
  23 + <img class="myCenterContentListImg" src="{_msgImg}" alt="">
  24 + <p class="myCenterContentListTit">{_meetingName}</p>
  25 + <p class="myCenterContentListTit1">主讲人:{_create_user}</p>
  26 + <p class="myCenterContentMin">45min</p>
  27 + <span class="myCenterContentTimer">{_liveTimer}</span>
  28 + </div>`;
  29 +const curriculumList = `<li class="teacherTodayCourseList">
  30 + <span class="courseDetailInfo">{_infoTit}</span>
  31 + <span class="courseDetailInfo1">距开始还有:<i class="teacherStartContent">{_countDown}</i></span>
  32 + <button class="teacherEnterClass btnHover" data="{_meetingNumber}" style="display: {_isShow}">立即进入</button>
  33 + </li>`;
  34 +
  35 +const adminListTit = `<table width="100%" align="center" cellpadding="0" cellspacing="0" border="0" class="t_box">
  36 + <tbody>
  37 + <tr align="center" height="44" class="tr_center" bgcolor="#fff" bordercolor="#e6e6e6">
  38 + <th width="7%" class="tr_center">
  39 + 课堂主题
  40 + </th>
  41 + <th width="7%" class="tr_center">
  42 + 课堂号
  43 + </th>
  44 + <th width="7%" class="tr_center">
  45 + 老师
  46 + </th>
  47 + <th width="7%" class="tr_center">
  48 + 课堂状态
  49 + </th>
  50 + <th width="15%" class="tr_center">
  51 + 课堂时间
  52 + </th>
  53 + <th width="7%" class="tr_center">
  54 + 在线人数
  55 + </th>
  56 + <th width="10%" class="tr_center">
  57 + 操作
  58 + </th>
  59 + </tr>
  60 +`;
  61 +//管理首页
  62 +const adminList = `<tr align="center" bgcolor="#FFFFFF" height="44" bordercolor="#e6e6e6">
  63 + <td width="7%" class="tr_main tr_mainLeft">{_meetingName}</td>
  64 + <td width="7%" class="tr_main">{_meetingNumber}</td>
  65 + <td width="7%" class="tr_main">{_create_user}</td>
  66 + <td width="7%" class="tr_main">{_state}</td>
  67 + <td width="15%" class="tr_main">{_timer}</td>
  68 + <td width="7%" class="tr_main">{_num}</td>
  69 + <td width="10%" class="tr_main tr_mainRight" align="center">
  70 + <a class="classHandlePort deleteClass" data="{_aboutMsg}" href="###">文档</a>
  71 + <a class="classHandlePort deleteClass" data="{_aboutMsg}" href="###">多媒体</a>
  72 + <a class="classHandlePort resolveBtn" href="###" data="{_aboutMsg}">伴音</a>
  73 + </td>
  74 + </tr>
  75 +`;
  76 +const adminListEnd = `</tbody></table>`;
  77 +
  78 +//学生端显示老师信息
  79 +const teacherInfoLeft = `<div class="teacherCorrelatedInfoBox">
  80 + <div class="teacherCorrelatedInfoLeft">
  81 + <img class="teacherCorrelatedInfoImg" id="teacherCorrelatedInfoImg" src="images/u293.png" alt="">
  82 + <div class="teacherCorrelatedInfo">
  83 + <b class="teacherCorrelatedInfoName" id="teacherCorrelatedInfoName">{_teacherName}</b>
  84 + <b class="teacherCorrelatedInfoMajor">北京市|少儿英语</b>
  85 + <b class="teacherCorrelatedInfoCourse">课程:50</b>
  86 + <span class="teacherCorrelatedInfoMajorMsg">毕业于外国语学院,专业8</span>
  87 + <p class="cancelReservationBtn"">取消预约</p>
  88 + </div>
  89 + </div>
  90 + <div class="teacherCorrelatedInfoCenter">`;
  91 +const teacherInfoCenter= `<img class="teachercourseImg" data="{_id}" src="{_imgSrc}" alt="">`;
  92 +const teacherInfoRight = `</div> <div class="teacherCorrelatedInfoBtn" data="{_teacherName}">更多课程</div>
  93 + </div></div>`;
  94 +
  95 +const teacherDetail = `<span class="teacherDetailCurriculumList">《{_detailList}》</span>`
  96 +
  97 +let loger = Loger.getLoger('PC-MyCoursesApe');
  98 +class MyCoursesApe extends Ape {
  99 + constructor() {
  100 + super();
  101 + this.isLocalStorage();
  102 + this.data = 0;
  103 + this.dataList = {};
  104 + this.teacherList = {};
  105 + this.messageDetails = [];
  106 + this.presentInd = 1;//点击翻页默认为第一页
  107 + this._judgeListPlace();
  108 + this.addEvent();
  109 + this.init();
  110 + }
  111 +
  112 + init() {
  113 + $('#personageInfo').on('click',this._myCenterBoxHandler.bind(this));//个人中心
  114 +
  115 + $('#teacherUI li').on('click',this._recordLiHandler.bind(this));//课堂分类
  116 + $('#teacherInfoList li').on('click',this._teacherInfoListHandler.bind(this));//首页 老师 直播分类 正在直播 未开始 已结束
  117 + $('#studentInfoList li').on('click',this._studentInfoListHandler.bind(this));//首页 学生 待学习 已学完 收藏
  118 + $('#courseInfoList li').on('click',this._courseInfoListHandler.bind(this));//我的课程 学生 待学习 已学完 收藏
  119 + $('#teacherLiveList li').on('click',this._teacherLiveListHandler.bind(this));//我的课程 老师 正在直播 未开始 已结束
  120 +
  121 + $('#subscribeList .liveInfoLeftLi').on('click',this._subscribeListHandler.bind(this));//课程 老师
  122 +
  123 + $('#studentMyCenterContentList').on('mouseenter','.classifyListMyCenter',this._mouseenter.bind(this));//个人中心移入进入课堂
  124 + $('#studentMyCenterContentList').on('mouseleave','.classifyListMyCenter',this._mouseleave.bind(this));//个人中心移出进入课堂
  125 +
  126 + $('#courseMinuteList').on('mouseenter','.classifyListMyCenter',this._mouseenter.bind(this));//课程移入进入课堂
  127 + $('#courseMinuteList').on('mouseleave','.classifyListMyCenter',this._mouseleave.bind(this));//课程移出进入课堂
  128 +
  129 + $('#teacherCorrelatedInfo').on('mouseenter','.classifyListMyCenter',this._cancelMouseenter.bind(this));//我的预约 课程移入显示取消预约
  130 + $('#teacherCorrelatedInfo').on('mouseleave','.classifyListMyCenter',this._cancelMouseleave.bind(this));//我的预约 课程移出隐藏取消预约
  131 +
  132 + $('#studentMyCenterContentList').on('click','.accessLearningBtn',this._enterClassRoomHandler.bind(this));//我的预约进入课堂
  133 + $('#courseMinuteList').on('click','.accessLearningBtn',this._enterClassRoomHandler.bind(this));//我的预约进入课堂
  134 +
  135 +
  136 +
  137 + $('#myCurriculumInfo').on('click','.teacherEnterClass',this._enterClassRoomHandler.bind(this));//我的课程进入课堂
  138 +
  139 +
  140 + $('#teacherCorrelatedInfo').on('click','.teacherCorrelatedInfoBtn',this._teacherSubscribeMoveHandler.bind(this));//点击预约查看当前点击的更多信息
  141 +
  142 + $('#teacherCorrelatedInfo').on('click','.cancelReservation',this._cancelSubscribeHandler.bind(this));//取消预约
  143 +
  144 + $('#teacherCorrelatedInfo').on('click','.teachercourseImg',this._teacherClassDetails.bind(this));//点击进入老师课堂详情页
  145 +
  146 +
  147 +
  148 + $('#teacherMyCerterHomePage').on('click',this._homePageHandler.bind(this));//首页
  149 + $('#teacherMyCerterUpPage').on('click',this._upPageHandler.bind(this));//上页
  150 + $('#teacherMyCerterDownPage').on('click',this._downPageHandler.bind(this));//下页
  151 + $('#teacherMyCerterEndPage').on('click',this._endPageHandler.bind(this));//尾页
  152 + $('#teacherMyCerterSpecificPage').on('click',this._assignPageHandler.bind(this));//指定页
  153 +
  154 + }
  155 +
  156 + addEvent() {
  157 +
  158 + }
  159 + //首页
  160 + _createClassHomePage(){
  161 + this._teacherLiveModule(1);
  162 + }
  163 + //首页
  164 + _homePageHandler(){
  165 + this.presentInd = 1;
  166 + this._teacherLiveModule(this.presentInd);
  167 + }
  168 + //上页
  169 + _upPageHandler(){
  170 + if(this.presentInd > 1){
  171 + this.presentInd--;
  172 + this._teacherLiveModule(this.presentInd);
  173 + }
  174 + }
  175 + //下页
  176 + _downPageHandler(){
  177 + loger.log('点击下一页')
  178 + if(this.presentInd < this.pageNo){
  179 + this.presentInd++;
  180 + this._teacherLiveModule(this.presentInd);
  181 + }
  182 + }
  183 + //尾页
  184 + _endPageHandler(){
  185 + this.presentInd = this.pageNo;
  186 + this._teacherLiveModule(this.presentInd);
  187 + }
  188 + //指定页
  189 + _assignPageHandler(){
  190 + let inputVal = $('#teacherMyCerterPageInfoInput').val();
  191 + if(parseInt(inputVal) <= this.pageNo || parseInt(inputVal) >= 1 ){
  192 + this._teacherLiveModule(parseInt(inputVal));
  193 + }
  194 + }
  195 + loadMeeting(meeting){
  196 + let status = meeting["meetingStatus"];
  197 + if(status != ''){
  198 + if (status == "1" || status == "2") {
  199 + return '已开始';
  200 + }else{
  201 + if (status == "2") {
  202 + // alert("会议已经开始!");
  203 + return '已开始';
  204 + } else if (status == "3") {
  205 + return '未开始';
  206 + // alert("未到开始时间!");
  207 + } else if (status == "4") {
  208 + // alert("会议已经结束!");
  209 + return '已结束';
  210 + }
  211 + }
  212 + }
  213 + }
  214 + //老师端数据请求
  215 + _teacherCurriculumInfo(data,num,ind,callback){
  216 + let _url = ClassDataProxy.locationProtocol + ClassDataProxy.locationProt + '/meeting/getMeeting';
  217 + let that = this;
  218 + $.ajax({
  219 + type: "POST",
  220 + url: _url,
  221 + timeout:5000,
  222 + data : data,
  223 + headers: {siteId:ClassDataProxy.siteId,pageno:num, page:ind,
  224 + 'token':ClassDataProxy.token},
  225 + success:function(_data){
  226 +
  227 + //获取我的课程数据
  228 + if(_data && _data.code == 200){
  229 + if(callback){
  230 + callback(_data);
  231 + }
  232 + }else{
  233 + if(callback){
  234 + callback(null);
  235 + }
  236 + }
  237 + },
  238 + error:function(error){
  239 + //alert('直播数据获取失败')
  240 + if(callback){
  241 + callback(null);
  242 + }
  243 + loger.log(error,'直播数据获取失败')
  244 + }
  245 + })
  246 + }
  247 + _studentCurriculumInfo(num,callback){
  248 + let _url = ClassDataProxy.locationProtocol + ClassDataProxy.locationProt + '/studentMeeting/getStudentMeetingByStudentId/'+ClassDataProxy.id;
  249 + let that = this;
  250 + $.ajax({
  251 + type: "GET",
  252 + url: _url,
  253 + timeout:5000,
  254 + headers: {siteId:ClassDataProxy.siteId,pageno:num,id:ClassDataProxy.id,
  255 + 'token':ClassDataProxy.token},
  256 + success:function(_data){
  257 +
  258 + //获取我的课程数据
  259 + if(_data && _data.code == 200){
  260 + if(callback){
  261 + callback(_data);
  262 + }
  263 + }else{
  264 + if(callback){
  265 + callback(null);
  266 + }
  267 + }
  268 + },
  269 + error:function(error){
  270 + //alert('直播数据获取失败')
  271 + if(callback){
  272 + callback(null);
  273 + }
  274 + loger.log(error,'直播数据获取失败')
  275 + }
  276 + })
  277 + }
  278 + //老师端首页默认数据
  279 + detailPageTeacher(){
  280 + //首页课程
  281 + this._teacherCourseModule();
  282 + //首页直播信息
  283 + this._teacherLiveModule(1);
  284 + }
  285 + detailPageStudent(){
  286 + this._studentCourseModule();
  287 + //首页课程
  288 + let ind = $('#studentInfoList .liveInfoLeftLiCheck').attr('data');
  289 + let studentMyCenterContentList = $('#studentMyCenterContentList');
  290 + switch (parseInt(ind)){
  291 + case 0:
  292 + //待学习
  293 + this._studentStudyModule(studentMyCenterContentList);
  294 + break;
  295 + case 1:
  296 + //已学完
  297 + this._studentStudyOverModule(studentMyCenterContentList);
  298 + break;
  299 + case 2:
  300 + //收藏
  301 + this._studenTcollectModule(studentMyCenterContentList);
  302 + break;
  303 + default:
  304 + return;
  305 + }
  306 +
  307 + }
  308 + _showStatus(){
  309 + if(ClassDataProxy.userType == ClassDataProxy.USER_TYPE_1){
  310 + $('#teacherMyCenterStatus').text('老师');
  311 + $('#teacherMyCerter').show();
  312 + $('#studentMyCerter').hide();
  313 + }else if(ClassDataProxy.userType == ClassDataProxy.USER_TYPE_8){
  314 + $('#teacherMyCenterStatus').text('同学');
  315 + $('#teacherMyCerter').hide();
  316 + $('#studentMyCerter').show();
  317 + }
  318 + }
  319 + isLocalStorage(){
  320 + let newDate = new Date();
  321 + let newHours = newDate.getHours();
  322 + let text = newHours>12?'下午好,':'上午好,'
  323 + $('#teacherMyCenterTime').text(text);
  324 + this._showStatus();
  325 +
  326 + this.detailpage();
  327 + loger.log('登录老师首页',ClassDataProxy.userType , ClassDataProxy.USER_TYPE_1)
  328 + if(ClassDataProxy.userType == ClassDataProxy.USER_TYPE_1){
  329 + //首页默认数据
  330 + // this.detailPageTeacher();
  331 + $('#teacherMyCenterName').text(ClassDataProxy.loginName);
  332 + $('#teacherMyCenterStatus').text('老师');
  333 + $('#teacherUI .recordLi').eq(2).hide();
  334 + $('#teacherMyCerter').show();
  335 + $('#studentMyCerter').hide();
  336 + $('#myCenterBox').show();
  337 + }else if(ClassDataProxy.userType == ClassDataProxy.USER_TYPE_8){
  338 + //首页默认数据
  339 + // this.detailPageStudent();
  340 + $('#myCenterBox').show();
  341 + $('#teacherMyCenterName').text(ClassDataProxy.loginName);
  342 + $('#teacherMyCenterStatus').text('同学');
  343 + $('#teacherMyCerter').hide();
  344 + $('#studentMyCerter').show();
  345 + $('#teacherUI .recordLi').eq(2).show();
  346 + }
  347 +
  348 + $('#lanclassBox').hide();
  349 +
  350 + $('#oneselfInfoLoginName').val( ClassDataProxy.loginName);//登录名
  351 + $('#oneselfInfoUserName').val(ClassDataProxy.monicker);//用户名
  352 + let setMail = $('#setMail');//邮箱
  353 + let setPhone = $('#setPhone');//手机号
  354 + let userEmail = this.updateEmail(ClassDataProxy.userEmail);
  355 + let userMobile = this.updateMobile(ClassDataProxy.userMobile);
  356 + setMail.attr('data',ClassDataProxy.userEmail);
  357 + setPhone.attr('data',ClassDataProxy.userMobile);
  358 + setMail.html(userEmail)
  359 + setPhone.html(userMobile)
  360 + }
  361 + _recordLiHandler(evt){
  362 + let ind = $(evt.currentTarget).attr('data');
  363 + $(evt.currentTarget).addClass('recordLiCheck').siblings().removeClass('recordLiCheck');
  364 + $('.myCenterContentBox').eq(ind).show().siblings().hide();
  365 + switch (parseInt(ind)){
  366 + case 0:
  367 + //首页
  368 + this.detailpage();
  369 + break;
  370 + case 1:
  371 + //我的课程
  372 + this.myCoursesMessage();
  373 + break;
  374 + case 2:
  375 + //我的预约
  376 + this.myBookingsMessage();
  377 + break;
  378 + case 3:
  379 + //个人信息
  380 + this._emit(MessageTypes.ROLE_MESSAGE);
  381 + break;
  382 + default:
  383 + return;
  384 + }
  385 + }
  386 + detailpage(){
  387 + if(ClassDataProxy.userType == ClassDataProxy.USER_TYPE_1){
  388 + this.detailPageTeacher();
  389 + }else if(ClassDataProxy.userType == ClassDataProxy.USER_TYPE_8){
  390 + this.detailPageStudent();
  391 + }
  392 + }
  393 +
  394 + /*-------------------老师-------------------*/
  395 + //老师端首页课程显示
  396 + _teacherCourseModule(){
  397 + let data = {siteId:ClassDataProxy.siteId,create_user : ClassDataProxy.loginName};
  398 + let that = this;
  399 + this._teacherCurriculumInfo(data,3,1,function(_data){
  400 + //首页今日课程渲染
  401 + if(_data){
  402 + that._teacherCourseCourse(_data.returnData.data.meetingInfo);
  403 + }
  404 + })
  405 + }
  406 + //老师端首页课程数据渲染
  407 + _teacherCourseCourse(_data){
  408 + let myCurriculumInfo = $('#myCurriculumInfo');
  409 + myCurriculumInfo.empty();
  410 + let that = this;
  411 + if(_data) {
  412 + for (let i = 0; i < _data.length; i++) {
  413 + let item = _data[i];
  414 + if (item) {
  415 + let curInfo = this._format(curriculumList, {
  416 + _infoTit: item.meetingName,
  417 + _meetingNumber: item.meetingNumber,
  418 + _countDown: that.loadMeeting(item),
  419 + _isShow: (that.loadMeeting(item) == '已开始') ? 'block' : 'none'
  420 + })
  421 + myCurriculumInfo.append(curInfo);
  422 + } else {
  423 + console.error('_gainClassData没数据')
  424 + }
  425 +
  426 + }
  427 + }
  428 + }
  429 + //老师端首页直播数据
  430 + _teacherLiveModule(ind){
  431 + let data = {siteId:ClassDataProxy.siteId,create_user : ClassDataProxy.loginName,meetingStatus:1};
  432 + let that = this;
  433 + this._teacherCurriculumInfo(data,4,ind,function(_data){
  434 + //首页直播信息渲染
  435 + if(_data){
  436 + that._teacherLiveCourse(_data.returnData.data);
  437 + }
  438 + })
  439 + }
  440 + _teacherLiveCourse(_data){
  441 + let teacherMyCenterContentList = $('#teacherMyCenterContentList');
  442 + teacherMyCenterContentList.empty();
  443 +
  444 + let count = _data.count;
  445 + let page = _data.page;
  446 + let pageno = _data.pageno;
  447 + let pagenum = Math.ceil(count / pageno);
  448 + let _dataList = _data.meetingInfo;
  449 + // loger.log('老师端信息想显示',_data)
  450 + this.pageNo = pagenum;
  451 + $('#teacherMyCerterPageMsg').html('第'+page+'页/共'+pagenum+'页,有'+count+'个记录');
  452 + teacherMyCenterContentList.append(adminListTit)
  453 + for(let i = 0;i<_dataList.length;i++){
  454 + if(count <= 8){
  455 + $('#teacherMyCerterPageBox').hide();
  456 + }
  457 + let _adminList = this._format(adminList,{
  458 + _meetingName : _dataList[i].meetingName,
  459 + _meetingNumber : _dataList[i].meetingNumber,
  460 + _create_user : _dataList[i].create_user,
  461 + _state : ClassDataProxy.getTimeEnd(_dataList[i].beginTime,_dataList[i].endTime),
  462 + _timer : _dataList[i].beginTime + '-' + _dataList[i].endTime,
  463 + _num : '0'
  464 + })
  465 + teacherMyCenterContentList.append(_adminList)
  466 + }
  467 + teacherMyCenterContentList.append(adminListEnd)
  468 + }
  469 + _teacherCourse(_data){
  470 + let courseMinuteList = $('#courseMinuteList');
  471 + courseMinuteList.empty();
  472 + let count = _data.count;
  473 + let page = _data.page;
  474 + let pageno = _data.pageno;
  475 + let pagenum = Math.ceil(count / pageno);
  476 + let _dataList = _data.meetingInfo;
  477 + this.pageNo = pagenum;
  478 + $('#teacherMyCerterPageMsg').html('第'+page+'页/共'+pagenum+'页,有'+count+'个记录');
  479 + courseMinuteList.append(adminListTit)
  480 + for(let i = 0;i<_dataList.length;i++){
  481 + if(count <= 8){
  482 + $('#teacherMyCerterPageBox').hide();
  483 + }
  484 + let _adminList = this._format(adminList,{
  485 + _meetingName : _dataList[i].meetingName,
  486 + _meetingNumber : _dataList[i].meetingNumber,
  487 + _create_user : _dataList[i].create_user,
  488 + _state : ClassDataProxy.getTimeEnd(_dataList[i].beginTime,_dataList[i].endTime),
  489 + _timer : _dataList[i].beginTime + '-' + _dataList[i].endTime,
  490 + _num : '0'
  491 + })
  492 + courseMinuteList.append(_adminList)
  493 + }
  494 + courseMinuteList.append(adminListEnd)
  495 + }
  496 +
  497 + /*---------------------------学生-----------------------*/
  498 + //学生端首页課程显示
  499 + _studentCourseModule(){
  500 + let that = this;
  501 + this._studentCurriculumInfo(3,function(_data){
  502 + that.studentCourseList(_data.returnData.data);
  503 + })
  504 + }
  505 + studentCourseList(_data){
  506 + if(_data){
  507 + // loger.log('学生端首页课程信息',_data)
  508 + let myCurriculumInfo = $('#myCurriculumInfo');
  509 + myCurriculumInfo.empty();
  510 + let that = this;
  511 + if(_data) {
  512 + for (let i = 0; i < _data.length; i++) {
  513 + let item = _data[i];
  514 + let timer = ClassDataProxy.getTimeCountDown(item.meetingBeginTime,item.meetingEndTime)
  515 + loger.log('newTimenewTimenewTimenewTime',timer)
  516 + if (item) {
  517 + let curInfo = this._format(curriculumList, {
  518 + _infoTit: item.meeting_name,
  519 + _meetingNumber: item.meetingNumber,
  520 + _countDown:timer ,
  521 + _isShow: (timer == '已结束') ? 'none' : 'block'
  522 + })
  523 + myCurriculumInfo.append(curInfo);
  524 + } else {
  525 + console.error('_gainClassData没数据')
  526 + }
  527 +
  528 + }
  529 + }
  530 + }
  531 + }
  532 + //学生端首页学习数据
  533 + _studentStudyModule(studentMyCenterContentList){
  534 + let that = this;
  535 + this._studentCurriculumInfo(4,function(_data){
  536 + if(_data){
  537 + that.studentStudyList(studentMyCenterContentList,_data.returnData.data);
  538 + }
  539 + })
  540 + }
  541 + studentStudyList(studentMyCenterContentList,_data){
  542 + studentMyCenterContentList.empty();
  543 + $('#courseMinutePageBox').hide();
  544 + let recordData = 0;
  545 + if(_data){
  546 + for(let i = 0;i<_data.length;i++){
  547 + if(_data[i]){
  548 + if(ClassDataProxy.getTimeDay(_data[i].meetingBeginTime)){
  549 + let j = (i%4)==3;
  550 + let _classifyList = this._format(classifyList,{
  551 + _classifyListR : j?'classifyListR':'',
  552 + _isShowTitle : 'none',
  553 + _meetingNumber : _data[i].meetingNumber,
  554 + _msgImg : '../images/u373.png',
  555 + _meetingName : _data[i].meeting_name,
  556 + _create_user : _data[i].teacherName,
  557 + _liveTimer : _data[i].meetingBeginTime.split(' ')[0]
  558 + })
  559 + studentMyCenterContentList.append(_classifyList)
  560 + }else{
  561 + recordData = 1;
  562 + }
  563 + }else{
  564 + console.error('_gainClassData没数据')
  565 + }
  566 + }
  567 + }
  568 + if(recordData == 1){
  569 + let _classifyList = '<div class="dataCenterErrorTitle">暂无数据~</div>'
  570 + studentMyCenterContentList.append(_classifyList)
  571 + }
  572 +
  573 + }
  574 + //已学完
  575 + _studentStudyOverModule(studentMyCenterContentList){
  576 + let that = this;
  577 + this._studentCurriculumInfo(4,function(_data){
  578 + that.studentStudyOverList(studentMyCenterContentList,_data.returnData.data);
  579 + })
  580 + }
  581 + studentStudyOverList(studentMyCenterContentList,_data){
  582 + studentMyCenterContentList.empty();
  583 + $('#courseMinutePageBox').hide();
  584 + for(let i = 0;i<_data.length;i++){
  585 + if(_data[i]){
  586 + if(!ClassDataProxy.getTimeDay(_data[i].meetingBeginTime)){
  587 + let j = (i%4)==3;
  588 + let _classifyList = this._format(classifyList,{
  589 + _classifyListR : j?'classifyListR':'',
  590 + _isShowTitle : 'none',
  591 + _meetingNumber : _data[i].meetingNumber,
  592 + _msgImg : '../images/u373.png',
  593 + _meetingName : _data[i].meeting_name,
  594 + _create_user : _data[i].teacherName,
  595 + _liveTimer : _data[i].meetingBeginTime.split(' ')[0]
  596 + })
  597 + studentMyCenterContentList.append(_classifyList)
  598 + }
  599 + }else{
  600 + console.error('_gainClassData没数据')
  601 + }
  602 + }
  603 +
  604 + }
  605 + _studenTcollectModule(studentMyCenterContentList){
  606 + let that = this;
  607 + this._studentCurriculumInfo(4,function(_data){
  608 + that.studentTcollectList(studentMyCenterContentList,_data.returnData.data);
  609 + })
  610 + }
  611 + studentTcollectList(studentMyCenterContentList,_data){
  612 + studentMyCenterContentList.empty();
  613 + $('#courseMinutePageBox').hide();
  614 + /* for(let i = 0;i<_data.length;i++){
  615 + if(_data[i]){
  616 + if(!ClassDataProxy.getTimeDay(_data[i].meetingBeginTime)){
  617 + let j = (i%4)==3;
  618 + let _classifyList = this._format(classifyList,{
  619 + _classifyListR : j?'classifyListR':'',
  620 + _isShowTitle : 'none',
  621 + _meetingNumber : _data[i].meetingNumber,
  622 + _msgImg : '../images/u373.png',
  623 + _meetingName : _data[i].meeting_name,
  624 + _create_user : _data[i].teacherName,
  625 + _liveTimer : _data[i].meetingBeginTime.split(' ')[0]
  626 + })
  627 + studentMyCenterContentList.append(_classifyList)
  628 + }
  629 + }else{
  630 + console.error('_gainClassData没数据')
  631 + }
  632 + }*/
  633 +
  634 + }
  635 + clearLocalStorage(){
  636 + window.localStorage.clear();
  637 + ClassDataProxy.userType = ClassDataProxy.USER_TYPE_0;
  638 + ClassDataProxy.loginName ="";
  639 + ClassDataProxy.password =""
  640 + ClassDataProxy.token ="";
  641 + ClassDataProxy.status = false;
  642 +
  643 + }
  644 + //我的预约
  645 + myBookingsMessage(){
  646 + if(ClassDataProxy.userType == ClassDataProxy.USER_TYPE_1){
  647 +
  648 + }else if(ClassDataProxy.userType == ClassDataProxy.USER_TYPE_8){
  649 + this.studentBookings();
  650 + }
  651 + }
  652 + studentBookings(){
  653 + let that = this;
  654 + let data = $('#subscribeList').find('.liveInfoLeftLiCheck').attr('data');
  655 + this._studentCurriculumInfo(12,function(_data){
  656 + if(_data){
  657 + if(data == '1'){
  658 + that._studentSubscribeTeacher(_data.returnData.data)
  659 + }else{
  660 + that._studentSubscribe(_data.returnData.data)
  661 + }
  662 +
  663 + }
  664 + });
  665 +
  666 + }
  667 + _studentSubscribe(_data){
  668 + let teacherCorrelatedInfo = $('#teacherCorrelatedInfo');
  669 + teacherCorrelatedInfo.empty();
  670 + for(let i = 0;i<_data.length;i++){
  671 + if(_data[i]){
  672 + let j = (i%4)==3;
  673 + let _classifyList = this._format(classifyList,{
  674 + _classifyListR : j?'classifyListR':'',
  675 + _isShowTitle : 'none',
  676 + _meetingNumber : _data[i].meetingNumber,
  677 + _msgImg : '../images/u373.png',
  678 + _meetingName : _data[i].meeting_name,
  679 + _create_user : _data[i].teacherName,
  680 + _liveTimer : _data[i].meetingBeginTime.split(' ')[0],
  681 + _studentMeetingId : _data[i].studentMeetingId
  682 + })
  683 + teacherCorrelatedInfo.append(_classifyList)
  684 +
  685 + }else{
  686 + console.error('_gainClassData没数据')
  687 + }
  688 + }
  689 +
  690 + }
  691 + _studentSubscribeTeacher(_data){
  692 + let teacherCorrelatedInfo = $('#teacherCorrelatedInfo');
  693 + teacherCorrelatedInfo.empty();
  694 + if(_data){
  695 + this.teacherList={};
  696 + for(let i = 0;i<_data.length;i++){
  697 + let item=_data[i];
  698 + if(item){
  699 + let temp = item.teacherName;
  700 + if(!this.teacherList[temp]) {
  701 + this.teacherList[temp] = [];
  702 + }
  703 + this.teacherList[temp].push(item)
  704 + }
  705 + }
  706 + for( let key in this.teacherList){
  707 + let teacherInfo = ''
  708 + let arrList = this.teacherList[key];
  709 + teacherInfo = this._format(teacherInfoLeft,{
  710 + _teacherName : key,
  711 + // meetingNumber
  712 + })
  713 + for(let n = 0;n<arrList.length;n++){
  714 + teacherInfo += this._format(teacherInfoCenter,{
  715 + _imgSrc : 'images/u374.png',
  716 + _id : arrList[n].teacherName
  717 + })
  718 + }
  719 + teacherInfo += this._format(teacherInfoRight,{
  720 + _teacherName : key
  721 + })
  722 + teacherCorrelatedInfo.append(teacherInfo)
  723 + }
  724 + }
  725 + }
  726 + //我的课程
  727 + myCoursesMessage(){
  728 + if(ClassDataProxy.userType == ClassDataProxy.USER_TYPE_1){
  729 + this.teacherCourses();
  730 + $('#courseInfoList').hide();
  731 + $('#teacherLiveList').show();
  732 + }else if(ClassDataProxy.userType == ClassDataProxy.USER_TYPE_8){
  733 + this.studentCourses();
  734 + $('#courseInfoList').show();
  735 + $('#teacherLiveList').hide();
  736 + }
  737 + }
  738 + teacherCourses(){
  739 + let _index = $('#teacherLiveList .liveInfoLeftLiCheck').attr('data');
  740 + let courseMinuteList = $('#courseMinuteList');
  741 + switch (parseInt(_index)){
  742 + case 0:
  743 + //正在直播
  744 + loger.log('直播首页信息')
  745 + this.teacherNowLiveModule(1);
  746 + break;
  747 + case 1:
  748 + //未开始
  749 + this.teacherNoneLiveModule(1);
  750 + loger.log('直播首页信息1')
  751 + break;
  752 + case 2:
  753 + //已结束
  754 + break;
  755 + default:
  756 + return;
  757 + }
  758 +
  759 + }
  760 + teacherNowLiveModule(ind){
  761 + let data = {siteId:ClassDataProxy.siteId,create_user : ClassDataProxy.loginName,meetingStatus:1};
  762 + let that = this;
  763 + this._teacherCurriculumInfo(data,12,ind,function(_data){
  764 + //首页直播信息渲染
  765 + if(_data){
  766 + // loger.log('首页直播信息渲染',_data)
  767 + that._teacherCourse(_data.returnData.data);
  768 + }
  769 + })
  770 + }
  771 + teacherNoneLiveModule(ind){
  772 + let data = {siteId:ClassDataProxy.siteId,create_user : ClassDataProxy.loginName};
  773 + let that = this;
  774 + this._teacherCurriculumInfo(data,12,ind,function(_data){
  775 + //首页直播信息渲染
  776 + if(_data){
  777 + that._teacherCourse(_data.returnData.data);
  778 + }
  779 + })
  780 + }
  781 + //老师端课程数据
  782 + _teacherCourseRender(_data){
  783 + let courseMinuteList = $('#courseMinuteList');
  784 + courseMinuteList.empty();
  785 + let count = _data.count;
  786 + let page = _data.page;
  787 + let pageno = _data.pageno;
  788 + let pagenum = Math.ceil(count / pageno);
  789 + let _dataList = _data.meetingInfo;
  790 + this.pageNo = pagenum;
  791 + $('#courseMinutePageMsg').html('第'+page+'页/共'+pagenum+'页,有'+count+'个记录');
  792 +
  793 + if(count <= 12){
  794 + $('#courseMinutePageBox').hide();
  795 + }
  796 + //存储数据按日期分类
  797 + this.dataList={};
  798 + for(let i = 0;i<_dataList.length;i++){
  799 + let item=_dataList[i];
  800 + if(item){
  801 + let temp = item.beginTime.split(' ')[0]
  802 + if(!this.dataList[temp]) {
  803 + this.dataList[temp] = [];
  804 + }
  805 + this.dataList[temp].push(item)
  806 + }
  807 + }
  808 + for(let key in this.dataList){
  809 + let j = (key%4)==3;
  810 + let arrList = this.dataList[key];
  811 + if(arrList){
  812 + for(let n = 0;n<arrList.length;n++){
  813 + let _classifyList = this._format(classifyList,{
  814 + _classifyListR : j?'classifyListR':'',
  815 + _isShowTitle : n == 0 ?'block':'none',
  816 + _meetingNumber : arrList[n].meetingNumber,
  817 + _msgImg : '../images/u373.png',
  818 + _meetingName : arrList[n].meetingName,
  819 + _create_user : arrList[n].create_user,
  820 + _liveTimer : key
  821 + })
  822 + courseMinuteList.append(_classifyList)
  823 + }
  824 + }
  825 + }
  826 + }
  827 + //学生端 我的课程 切换
  828 + studentCourses(){
  829 + let ind = $('#courseInfoList .liveInfoLeftLiCheck').attr('data');
  830 + let courseMinuteList = $('#courseMinuteList');
  831 + switch (parseInt(ind)){
  832 + case 0:
  833 + //待学习
  834 + this.studentFutureModule(courseMinuteList);
  835 + break;
  836 + case 1:
  837 + //已学完
  838 + this.studentFormerlyModule(courseMinuteList);
  839 + break;
  840 + case 2:
  841 + //收藏
  842 + this.studentCollectModule(courseMinuteList);
  843 + break;
  844 + default:
  845 + return;
  846 + }
  847 +
  848 + }
  849 + //学生端 我的课程 待学习
  850 + studentFutureModule(courseMinuteList){
  851 + let that = this;
  852 + this._studentCurriculumInfo(12,function(_data){
  853 + if(_data){
  854 + that._studentCourseRender(courseMinuteList,_data.returnData.data)
  855 + }
  856 + });
  857 +
  858 + }
  859 + //学生端课程数据 待学习
  860 + _studentCourseRender(courseMinuteList,_data){
  861 + courseMinuteList.empty();
  862 + let count = _data.count;
  863 + let page = _data.page;
  864 + let pageno = _data.pageno;
  865 + let pagenum = Math.ceil(count / pageno);
  866 + let _dataList = _data;
  867 + this.pageNo = pagenum;
  868 + let recordData = 0;
  869 + $('#courseMinutePageMsg').html('第'+page+'页/共'+pagenum+'页,有'+count+'个记录');
  870 +
  871 + if(count <= 12){
  872 + $('#courseMinutePageBox').hide();
  873 + }
  874 + //存储数据按日期分类
  875 + this.dataList={};
  876 + //if(ClassDataProxy.getTimeDay(_data[i].meetingBeginTime)){
  877 + for(let i = 0;i<_dataList.length;i++){
  878 + let item=_dataList[i];
  879 + if(item){
  880 + let temp = item.meetingBeginTime.split(' ')[0]
  881 + if(!this.dataList[temp]) {
  882 + this.dataList[temp] = [];
  883 + }
  884 + this.dataList[temp].push(item)
  885 + }
  886 + }
  887 + for(let key in this.dataList){
  888 + if(ClassDataProxy.getTimeDay(key)){
  889 + let arrList = this.dataList[key];
  890 + if(arrList){
  891 + for(let n = 0;n<arrList.length;n++){
  892 + let j = (n%4) == 3;
  893 + let _classifyList = this._format(classifyList,{
  894 + _classifyListR : j ?'classifyListR':'',
  895 + _isShowTitle : n == 0 ?'block':'none',
  896 + _meetingNumber : arrList[n].meetingNumber,
  897 + _msgImg : '../images/u373.png',
  898 + _meetingName : arrList[n].meeting_name,
  899 + _create_user : arrList[n].teacherName,
  900 + _liveTimer : key
  901 + })
  902 + courseMinuteList.append(_classifyList)
  903 + }
  904 + }
  905 + }else {
  906 + recordData = 1;
  907 + }
  908 + }
  909 + if(recordData == 1){
  910 + let _classifyList = '<div class="dataCenterErrorTitle">暂无数据~</div>'
  911 + courseMinuteList.append(_classifyList)
  912 + }
  913 + }
  914 + //学生端 我的课程 已学完
  915 + studentFormerlyModule(courseMinuteList){
  916 + let that = this;
  917 + this._studentCurriculumInfo(12,function(_data){
  918 + if(_data){
  919 + that._studentFormerlyRender(courseMinuteList,_data.returnData.data)
  920 + }
  921 + });
  922 + }
  923 + //学生端课程数据 已学完
  924 + _studentFormerlyRender(courseMinuteList,_data){
  925 + courseMinuteList.empty();
  926 + let count = _data.count;
  927 + let page = _data.page;
  928 + let pageno = _data.pageno;
  929 + let pagenum = Math.ceil(count / pageno);
  930 + let _dataList = _data;
  931 + this.pageNo = pagenum;
  932 + $('#courseMinutePageMsg').html('第'+page+'页/共'+pagenum+'页,有'+count+'个记录');
  933 +
  934 + if(count <= 12){
  935 + $('#courseMinutePageBox').hide();
  936 + }
  937 + //存储数据按日期分类
  938 + this.dataList={};
  939 + for(let i = 0;i<_dataList.length;i++){
  940 + let item=_dataList[i];
  941 + if(item){
  942 + let temp = item.meetingBeginTime.split(' ')[0]
  943 + if(!this.dataList[temp]) {
  944 + this.dataList[temp] = [];
  945 + }
  946 + this.dataList[temp].push(item)
  947 + }
  948 + }
  949 + for(let key in this.dataList){
  950 + if(!ClassDataProxy.getTimeDay(key)){
  951 + let arrList = this.dataList[key];
  952 + if(arrList){
  953 + for(let n = 0;n<arrList.length;n++){
  954 + let j = (n%4) == 3;
  955 + let _classifyList = this._format(classifyList,{
  956 + _classifyListR : j ?'classifyListR':'',
  957 + _isShowTitle : n == 0 ?'block':'none',
  958 + _meetingNumber : arrList[n].meetingNumber,
  959 + _msgImg : '../images/u373.png',
  960 + _meetingName : arrList[n].meeting_name,
  961 + _create_user : arrList[n].teacherName,
  962 + _liveTimer : key
  963 + })
  964 + courseMinuteList.append(_classifyList)
  965 + }
  966 + }
  967 + }
  968 +
  969 + }
  970 + }
  971 + //学生端 我的课程 收藏
  972 + studentCollectModule(courseMinuteList){
  973 + let that = this;
  974 + this._studentCurriculumInfo(12,function(_data){
  975 + if(_data){
  976 + that._studentCollectRender(courseMinuteList,_data.returnData.data)
  977 + }
  978 + });
  979 + }
  980 + //学生端课程数据 收藏
  981 + _studentCollectRender(courseMinuteList,_data){
  982 + loger.log('收藏',_data)
  983 + courseMinuteList.empty();
  984 + let count = _data.count;
  985 + let page = _data.page;
  986 + let pageno = _data.pageno;
  987 + let pagenum = Math.ceil(count / pageno);
  988 + let _dataList = _data;
  989 + this.pageNo = pagenum;
  990 + $('#courseMinutePageMsg').html('第'+page+'页/共'+pagenum+'页,有'+count+'个记录');
  991 +
  992 + if(count <= 12){
  993 + $('#courseMinutePageBox').hide();
  994 + }
  995 + //存储数据按日期分类
  996 + this.dataList={};
  997 + for(let i = 0;i<_dataList.length;i++){
  998 + let item=_dataList[i];
  999 + if(item){
  1000 + let temp = item.meetingBeginTime.split(' ')[0]
  1001 + if(!this.dataList[temp]) {
  1002 + this.dataList[temp] = [];
  1003 + }
  1004 + this.dataList[temp].push(item)
  1005 + }
  1006 + }
  1007 +
  1008 +
  1009 + // let arrList = this.dataList[key];
  1010 + if(_dataList){
  1011 + for(let n = 0;n<_dataList.length;n++){
  1012 + let j = (n%4) == 3;
  1013 + let _classifyList = this._format(classifyList,{
  1014 + _classifyListR : j ?'classifyListR':'',
  1015 + _isShowTitle : 'none',
  1016 + _meetingNumber : _dataList[n].meetingNumber,
  1017 + _msgImg : '../images/u373.png',
  1018 + _meetingName : _dataList[n].meeting_name,
  1019 + _create_user : _dataList[n].teacherName,
  1020 + // _liveTimer : key
  1021 + })
  1022 + courseMinuteList.append(_classifyList)
  1023 + }
  1024 + }
  1025 +
  1026 +
  1027 +
  1028 + }
  1029 + //老师端首页显示课程
  1030 + _teacherHomeCourse(_data){
  1031 + let myCurriculumInfo = $('#myCurriculumInfo');
  1032 + myCurriculumInfo.empty();
  1033 + if(_data){
  1034 + for(let i = 0;i < 3;i++){
  1035 + let item = _data[i];
  1036 + if(item){
  1037 + let curInfo = this._format(curriculumList,{
  1038 + _infoTit : item.meetingName,
  1039 + _meetingNumber : item.meetingNumber,
  1040 + _countDown : that.loadMeeting(item),
  1041 + _isShow : (that.loadMeeting(item)=='已开始')?'block':'none'
  1042 + })
  1043 + myCurriculumInfo.append(curInfo);
  1044 + }else{
  1045 + console.error('_gainClassData没数据')
  1046 + }
  1047 +
  1048 + }
  1049 + }
  1050 + }
  1051 + //老师端首页直播信息
  1052 + _liveClassData(_data){
  1053 + let teacherMyCenterContentList = $('#teacherMyCenterContentList');
  1054 + teacherMyCenterContentList.empty();
  1055 + let count = _data.count;
  1056 + let page = _data.page;
  1057 + let pageno = _data.pageno;
  1058 + let pagenum = Math.ceil(count / pageno);
  1059 + let _dataList = _data.meetingInfo;
  1060 + this.pageNo = pagenum;
  1061 + $('#teacherMyCerterPageMsg').html('第'+page+'页/共'+pagenum+'页,有'+count+'个记录');
  1062 + teacherMyCenterContentList.append(adminListTit)
  1063 +
  1064 + for(let i = 0;i<_dataList.length;i++){
  1065 + if(count <= 8){
  1066 + $('#teacherMyCerterPageBox').hide();
  1067 + }
  1068 + let _adminList = this._format(adminList,{
  1069 + _meetingName : _dataList[i].meetingName,
  1070 + _meetingNumber : _dataList[i].meetingNumber,
  1071 + _create_user : _dataList[i].create_user,
  1072 + _state : ClassDataProxy.getTimeEnd(_dataList[i].beginTime,_dataList[i].endTime),
  1073 + _timer : _dataList[i].beginTime + '-' + _dataList[i].endTime,
  1074 + _num : '0'
  1075 + })
  1076 + teacherMyCenterContentList.append(_adminList)
  1077 + }
  1078 + teacherMyCenterContentList.append(adminListEnd)
  1079 + }
  1080 + _myCenterBoxHandler(){
  1081 + this._showStatus();
  1082 + this.detailpage();
  1083 + if(ClassDataProxy.userType == ClassDataProxy.USER_TYPE_2){
  1084 + return;
  1085 + }
  1086 + if(ClassDataProxy.userType == ClassDataProxy.USER_TYPE_8){
  1087 + $('#slideshow').hide();
  1088 + $('#defaultBox').hide();
  1089 + $('#classifyListBox').hide();
  1090 + $('#lanclassBox').hide();
  1091 + $('#liveContentAllBox').hide();
  1092 + $('#lanclassAllBox').hide();
  1093 + $('#teacherIntroAllBox').hide();
  1094 + $('#teacherDetailBox').hide();
  1095 + }else if(ClassDataProxy.userType == ClassDataProxy.USER_TYPE_1){
  1096 +
  1097 + }
  1098 + $('#myCenterBox').show();
  1099 +
  1100 + }
  1101 + updateEmail(userEmail){
  1102 + return userEmail.replace(/(\d{2})\d{2}(\d{1})/, '$1****$2')
  1103 + }
  1104 + updateMobile(userMobile){
  1105 + return userMobile.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2')
  1106 + }
  1107 + _enterClassRoomHandler(evt){
  1108 + let ind = $(evt.target).attr('data');
  1109 + window.open('http://networkshool.xuedianyun.com/3m/attend.do?meetingNumber=' + ind);
  1110 + }
  1111 + _mouseenter(evt){
  1112 + $(evt.currentTarget).find('.accessLearningBtn').show();
  1113 + }
  1114 + _mouseleave(evt){
  1115 + $(evt.currentTarget).find('.accessLearningBtn').hide();
  1116 + }
  1117 + _cancelMouseenter(evt){
  1118 + $(evt.currentTarget).find('.cancelReservation').show();
  1119 + }
  1120 + _cancelMouseleave(evt){
  1121 + $(evt.currentTarget).find('.cancelReservation').hide();
  1122 + }
  1123 + _teacherSubscribeMoveHandler(evt){
  1124 + $('#teacherDetailBox').show();
  1125 + $('#myCenterBox').hide();
  1126 +
  1127 + let buttonIsCheck = $('#orderBtn').attr('value','0');
  1128 + if($('#orderBtn').attr('value') == '0'){
  1129 + $('#orderBtn').attr('disabled',false)
  1130 + $('#orderBtn').css('background','#ccc')
  1131 + }
  1132 +
  1133 + let teacherDetailCurriculum = $('#teacherDetailCurriculum');
  1134 + teacherDetailCurriculum.empty();
  1135 +
  1136 + let _data = $(evt.target).attr('data');
  1137 + if(_data){
  1138 + let _dataList = this.teacherList[_data];
  1139 + $('#teacherDetailInfoDetailName').html(_dataList[0].teacherName);
  1140 + for(let i = 0;i<_dataList.length;i++){
  1141 + let _teacherDetail = this._format(teacherDetail,{
  1142 + _detailList : _dataList[i].meeting_name
  1143 + })
  1144 + teacherDetailCurriculum.append(_teacherDetail)
  1145 + }
  1146 + }
  1147 + }
  1148 + //取消预约
  1149 + _cancelSubscribeHandler(evt){
  1150 + let _id = $(evt.target).attr('data');
  1151 + let _url = ClassDataProxy.locationProtocol + ClassDataProxy.locationProt + '/studentMeeting/updateStudentMeetingBySite/'+_id;
  1152 + let that = this;
  1153 + $.ajax({
  1154 + type: "PUT",
  1155 + url: _url,
  1156 + timeout:5000,
  1157 + headers: {
  1158 + siteId:ClassDataProxy.siteId,
  1159 + 'token':ClassDataProxy.token
  1160 + },
  1161 + data:{status:'5'},
  1162 + success:function(_data){
  1163 + //获取课堂数据
  1164 + if(_data && _data.code == 200){
  1165 + that.studentBookings();
  1166 + }
  1167 + },
  1168 + error:function(error){
  1169 + console.log(error,'失败')
  1170 + }
  1171 + })
  1172 +
  1173 + }
  1174 + _teacherClassDetails(evt){
  1175 + let name = $(evt.target).attr('data');
  1176 + let ind = $(evt.target).index();
  1177 + let _data = this.teacherList[name][ind]
  1178 +
  1179 + $('#lanclassBox').show();
  1180 + $('#myCenterBox').hide();
  1181 +
  1182 + $('#lanclassContentTitle').html(_data.meeting_name);
  1183 + $('#lanclassContentInfoName').html(_data.teacherName);
  1184 + $('#lanclassContentInfoTimeStart').html('开始时间:'+_data.meetingBeginTime);
  1185 + $('#lanclassContentInfoTimeEnd').html('结束时间:'+_data.meetingEndTime);
  1186 +
  1187 + }
  1188 + _judgeListPlace(){
  1189 + let i;
  1190 + let curriculumList = document.getElementsByClassName('classifyListMyCenter');
  1191 + for(i=0;i<curriculumList.length;i++){
  1192 + if((i%4) == 3){
  1193 + $(curriculumList[i]).addClass('classifyListR');
  1194 + }
  1195 + }
  1196 + }
  1197 + //切换类的公用样式
  1198 + commonality(evt){
  1199 + $(evt.currentTarget).addClass('liveInfoLeftLiCheck').siblings().removeClass('liveInfoLeftLiCheck');
  1200 + }
  1201 + _teacherInfoListHandler(evt){
  1202 + this.commonality(evt);
  1203 + }
  1204 + //学生端 首页
  1205 + _studentInfoListHandler(evt){
  1206 + this.commonality(evt);
  1207 + this.detailPageStudent();
  1208 + }
  1209 + //学生端 我的课程
  1210 + _courseInfoListHandler(evt){
  1211 + this.commonality(evt);
  1212 + this.studentCourses();
  1213 + }
  1214 + //老师端 我的课程
  1215 + _teacherLiveListHandler(evt){
  1216 + this.commonality(evt);
  1217 + this.teacherCourses();
  1218 + }
  1219 + _subscribeListHandler(evt){
  1220 + this.commonality(evt);
  1221 + this.studentBookings();
  1222 + }
  1223 + //工具类
  1224 + _format(str, obj) {
  1225 + return str.replace(/\{(\w+)\}/g, function (match, group, index) {
  1226 + return obj[group];
  1227 + });
  1228 + };
  1229 +}
  1230 +export default MyCoursesApe;
@@ -143,12 +143,12 @@ class PlayRecordApe extends Ape { @@ -143,12 +143,12 @@ class PlayRecordApe extends Ape {
143 url: _url, 143 url: _url,
144 data:{siteId : ClassDataProxy.siteId}, 144 data:{siteId : ClassDataProxy.siteId},
145 headers: {siteId:ClassDataProxy.siteId, 145 headers: {siteId:ClassDataProxy.siteId,
146 - pageno:7, 146 + pageno:8,
147 page:ind, 147 page:ind,
148 'token':ClassDataProxy.token}, 148 'token':ClassDataProxy.token},
149 success:function(_data){ 149 success:function(_data){
150 if(_data && _data.code == 200){ 150 if(_data && _data.code == 200){
151 - loger.log(_data,'录制回放数据信息') 151 + // loger.log(_data,'录制回放数据信息')
152 that._gainUserClassData(_data.returnData.data); 152 that._gainUserClassData(_data.returnData.data);
153 } 153 }
154 }, 154 },
@@ -47,9 +47,11 @@ class SubscribeApe extends Ape { @@ -47,9 +47,11 @@ class SubscribeApe extends Ape {
47 //获取课堂数据 47 //获取课堂数据
48 if(_data && _data.code == 200){ 48 if(_data && _data.code == 200){
49 loger.log(_data,'预约信息') 49 loger.log(_data,'预约信息')
  50 + ClassDataProxy.getMarginTopHandler($('#teacherDetailReminders'));//显示预约成功弹框
50 $('#teacherDetailRemindersBox').show(); 51 $('#teacherDetailRemindersBox').show();
51 that._emit(MessageTypes.ORDER_FINISH); 52 that._emit(MessageTypes.ORDER_FINISH);
52 }else if(_data.returnData.data.msg == '您已预约这堂课' && ClassDataProxy.loginName){ 53 }else if(_data.returnData.data.msg == '您已预约这堂课' && ClassDataProxy.loginName){
  54 + ClassDataProxy.getMarginTopHandler($('#warnHintBox'));//修改信息输入框
53 ErrorApe.showWarnError('您已预约这堂课'); 55 ErrorApe.showWarnError('您已预约这堂课');
54 }else{ 56 }else{
55 that.toLogin(); 57 that.toLogin();
@@ -62,6 +64,7 @@ class SubscribeApe extends Ape { @@ -62,6 +64,7 @@ class SubscribeApe extends Ape {
62 }) 64 })
63 } 65 }
64 toLogin(){ 66 toLogin(){
  67 + ClassDataProxy.getMarginTopHandler($('#userLogin'));
65 $('#userLoginBox').show(); 68 $('#userLoginBox').show();
66 } 69 }
67 //工具类 70 //工具类
@@ -27,7 +27,11 @@ import PlayRecordApe from 'ape/PlayRecordApe';//录制管理 @@ -27,7 +27,11 @@ import PlayRecordApe from 'ape/PlayRecordApe';//录制管理
27 27
28 import MyCenterApe from 'ape/MyCenterApe';//个人中心 28 import MyCenterApe from 'ape/MyCenterApe';//个人中心
29 import MyCenterStudentApe from 'ape/MyCenterStudentApe';//个人中心老师 29 import MyCenterStudentApe from 'ape/MyCenterStudentApe';//个人中心老师
30 -import MyCenterTeacherApe from 'ape/MyCenterTeacherApe';//个人中心学生 30 +
  31 +import MyCoursesApe from 'ape/MyCoursesApe';//个人中心 我的课程
  32 +import MyBookingsApe from 'ape/MyBookingsApe';//个人中心 我的预约
  33 +import MyChangeInfoApe from 'ape/MyChangeInfoApe';//个人中心 信息修改
  34 +
31 35
32 import SubscribeApe from 'ape/SubscribeApe';//预约 36 import SubscribeApe from 'ape/SubscribeApe';//预约
33 import CollectApe from 'ape/CollectApe';//预约 37 import CollectApe from 'ape/CollectApe';//预约
@@ -54,8 +58,13 @@ let _listDetailsApe; @@ -54,8 +58,13 @@ let _listDetailsApe;
54 let _administratorApe; 58 let _administratorApe;
55 let _playRecordApe; 59 let _playRecordApe;
56 let _myCenterApe; 60 let _myCenterApe;
  61 +
57 let _myCenterStudentApe; 62 let _myCenterStudentApe;
58 let _myCenterTeacherApe; 63 let _myCenterTeacherApe;
  64 +let _myCoursesApe;//我的课程
  65 +let _myBookingsApe;//我的预约
  66 +let _myChangeInfoApe;//个人信息修改
  67 +
59 68
60 let _subscribeApe; 69 let _subscribeApe;
61 let _collectApe; 70 let _collectApe;
@@ -182,7 +191,7 @@ class Main { @@ -182,7 +191,7 @@ class Main {
182 191
183 //个人中心 192 //个人中心
184 _myCenterApe = new MyCenterApe(); 193 _myCenterApe = new MyCenterApe();
185 - 194 + _myCenterApe.on(MessageTypes.ROLE_MESSAGE,this.roleMessage.bind(this));
186 195
187 //预约管理 196 //预约管理
188 _subscribeApe = new SubscribeApe(); 197 _subscribeApe = new SubscribeApe();
@@ -191,7 +200,6 @@ class Main { @@ -191,7 +200,6 @@ class Main {
191 _collectApe = new CollectApe(); 200 _collectApe = new CollectApe();
192 } 201 }
193 202
194 -  
195 // 203 //
196 loginOut(_data){ 204 loginOut(_data){
197 // 205 //
@@ -240,6 +248,11 @@ class Main { @@ -240,6 +248,11 @@ class Main {
240 _myCenterStudentApe = new MyCenterStudentApe(); 248 _myCenterStudentApe = new MyCenterStudentApe();
241 } 249 }
242 } 250 }
  251 + //myCenter 我的个人信息
  252 + roleMessage(){
  253 + _myChangeInfoApe = new MyChangeInfoApe();
  254 + }
  255 + //管理员左侧列表
243 switchClass(_data){ 256 switchClass(_data){
244 let ind = parseInt(_data); 257 let ind = parseInt(_data);
245 258
@@ -280,9 +293,9 @@ class Main { @@ -280,9 +293,9 @@ class Main {
280 break; 293 break;
281 } 294 }
282 } 295 }
  296 + //切换头部列表
283 switchHeader(_data){ 297 switchHeader(_data){
284 let ind = parseInt(_data); 298 let ind = parseInt(_data);
285 -  
286 switch (ind){ 299 switch (ind){
287 case 0: 300 case 0:
288 _homeApe.studentClick(); 301 _homeApe.studentClick();
@@ -321,6 +334,8 @@ class Main { @@ -321,6 +334,8 @@ class Main {
321 let status = window.localStorage.getItem('status')|| ''; 334 let status = window.localStorage.getItem('status')|| '';
322 let token = window.localStorage.getItem('token')|| ''; 335 let token = window.localStorage.getItem('token')|| '';
323 336
  337 + let password = window.localStorage.getItem('password')|| '';
  338 +
324 ClassDataProxy.userType = parseInt(userType); 339 ClassDataProxy.userType = parseInt(userType);
325 ClassDataProxy.loginName = loginName; 340 ClassDataProxy.loginName = loginName;
326 ClassDataProxy.id = id; 341 ClassDataProxy.id = id;
@@ -331,6 +346,7 @@ class Main { @@ -331,6 +346,7 @@ class Main {
331 ClassDataProxy.monicker = monicker; 346 ClassDataProxy.monicker = monicker;
332 ClassDataProxy.status = status; 347 ClassDataProxy.status = status;
333 ClassDataProxy.token = token; 348 ClassDataProxy.token = token;
  349 + ClassDataProxy.password = password
334 loger.log('进入课堂时显示的type值',ClassDataProxy.userType) 350 loger.log('进入课堂时显示的type值',ClassDataProxy.userType)
335 351
336 switch (parseInt(userType)){ 352 switch (parseInt(userType)){
  1 +import $ from "jquery";
1 class ClassDataProxy { 2 class ClassDataProxy {
2 constructor() { 3 constructor() {
3 } 4 }
@@ -289,6 +290,15 @@ class ClassDataProxy { @@ -289,6 +290,15 @@ class ClassDataProxy {
289 } 290 }
290 291
291 } 292 }
  293 +
  294 + //设置弹框位置 方法
  295 + static getMarginTopHandler(_data){
  296 + let top = ($(window).height() - _data.height())/2;
  297 + let left = ($(window).width() - _data.width())/2;
  298 + let scrollTop = $(document).scrollTop();
  299 + let scrollLeft = $(document).scrollLeft();
  300 + _data.css( { position : 'absolute', 'top' : top + scrollTop, left : left + scrollLeft } ).show();
  301 + }
292 } 302 }
293 303
294 //Class 304 //Class