pendingAction.html 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235
  1. <style>
  2. .right-content{
  3. padding-top:54px!important; padding-left:0!important; width:970px!important;
  4. }
  5. #tabs-container #tab-1 ul li.name{width: 150px;}
  6. .noRead{position: absolute;left: 8px;top: 6px;}
  7. .noReadGroup{position: absolute;left: 20px;top: 6px;}
  8. </style>
  9. <div class="content">
  10. <% include ../leftBar.html %>
  11. <!-- right content start -->
  12. <div class="right-content">
  13. <div class="pageInfo">Broadcast Bookings</div>
  14. <div id="tabs-container">
  15. <% include topBar.html %>
  16. <a href="javascript:;"><div id="showTbooking" class="Tbooking-btn">Today's Booking (0)</div></a>
  17. <div class="tab">
  18. <div id="tab-1" class="tab-content">
  19. <div class="subject">
  20. <ul>
  21. <li>From</li>
  22. <li>Time sent</li>
  23. <li>Broadcast Time</li>
  24. <li>Attached gifts</li>
  25. </ul>
  26. </div>
  27. <%if(data.list.length){%>
  28. <%for(let List of data.list){%>
  29. <%if(List.length == 1){%>
  30. <%for(let data of List){%>
  31. <div class="list">
  32. <ul>
  33. <li>
  34. <div>
  35. <%if(!data.read){%>
  36. <img src="<%=public_path%>/img/u802.png" class="noRead">
  37. <%}%>
  38. <a href="/broadcast/viewerProfile?manid=<%=data.fromid%>">
  39. <div class="avatar_instant">
  40. <img src="<%=data.opposite_photourl%>" class="profile-pic" alt=""/>
  41. </div>
  42. </a>
  43. <ul>
  44. <li class="name Ellipses" title="<%=data.opposite_nickname%>"><a href="/broadcast/viewerProfile?manid=<%=data.fromid%>"><%=data.opposite_nickname%></a></li>
  45. <li class="contry"><%=data.opposite_country%></li>
  46. <li>
  47. <div class="userlevel">
  48. <img src="<%=public_path%>/img/intimacy_<%=data.intimacy%>.png"/>
  49. </div>
  50. <div class="userlevel">
  51. <img src="<%=userLevelInfo[data.level].icon%>"/>
  52. </div>
  53. </li>
  54. </ul>
  55. </div>
  56. </li>
  57. <li class="scheduledLiveListTimeSent" data-time="<%=data.add_time*1000%>"></li>
  58. <li class="scheduledLiveListTime" data-time="<%=data.book_time*1000%>"></li>
  59. <li>
  60. <%if(data.gift_num > 0){%>
  61. <div style="float:left">
  62. <img src="<%=data.gift_small_imgurl%>" style="width: 50px; height: 50px;" alt=""/>
  63. <label>X</label>
  64. <label class="count"><%=data.gift_num%></label>
  65. </div>
  66. <%}%>
  67. <button class="decline scheduledLiveListReject" data-user="<%=data.inviteid%>">Decline</button>
  68. <button class="confirm scheduledLiveListConfirm" data-user="<%=data.inviteid%>">Confirm</button>
  69. </li>
  70. </ul>
  71. </div>
  72. <%}%>
  73. <%}else{%>
  74. <div class="rejected">
  75. <div class="alert">Only one booking can be accepted per time slot. Once accepted, other bookings for the same time slot will be automaically rejected.</div>
  76. <div class="list">
  77. <%for(let data of List){%>
  78. <ul>
  79. <li>
  80. <div>
  81. <%if(!data.read){%>
  82. <img src="<%=public_path%>/img/u802.png" class="noReadGroup">
  83. <%}%>
  84. <a href="/broadcast/viewerProfile?manid=<%=data.fromid%>">
  85. <div class="avatar_scheduled">
  86. <img src="<%=data.opposite_photourl%>" class="profile-pic" alt=""/>
  87. </div>
  88. </a>
  89. <ul>
  90. <li class="name Ellipses" title="<%=data.opposite_nickname%>">
  91. <div><a href="/broadcast/viewerProfile?manid=<%=data.fromid%>"><%=data.opposite_nickname%></a></div>
  92. </li>
  93. <li class="contry">
  94. <div><%=data.opposite_country%></div>
  95. </li>
  96. <li>
  97. <div class="userlevel">
  98. <img src="<%=public_path%>/img/intimacy_<%=data.intimacy%>.png"/>
  99. </div>
  100. <div class="userlevel">
  101. <img src="<%=userLevelInfo[data.level].icon%>"/>
  102. </div>
  103. </li>
  104. </ul>
  105. </div>
  106. </li>
  107. <li class="scheduledLiveListTimeSent" data-time="<%=data.add_time*1000%>"></li>
  108. <li class="scheduledLiveListTime" data-time="<%=data.book_time*1000%>"></li>
  109. <li>
  110. <%if(data.gift_num > 0){%>
  111. <div style="float:left">
  112. <img src="<%=data.gift_small_imgurl%>" style="width: 50px; height: 50px;" alt=""/>
  113. <label>X</label>
  114. <label class="count"><%=data.gift_num%></label>
  115. </div>
  116. <%}%>
  117. <button class="decline scheduledLiveListReject" data-user="<%=data.inviteid%>">Decline</button>
  118. <button class="confirm scheduledLiveListConfirm" data-user="<%=data.inviteid%>">Confirm</button>
  119. </li>
  120. </ul>
  121. <%}%>
  122. </div>
  123. </div>
  124. <%}%>
  125. <%}%>
  126. <%}else{%>
  127. <div class="empty">No bookings at the moment.</div>
  128. <%}%>
  129. </div>
  130. </div>
  131. </div>
  132. <div id="page" class="pagenation"></div>
  133. </div>
  134. <!-- right content end -->
  135. </div>
  136. <script>
  137. $(function(){
  138. //获取一天中确认的预约数
  139. $.get('/broadcast/scheduledLiveLayer/todayAjax', {}, function(data){
  140. if(data.errno == 0){
  141. let Reservation = data.data.todayBooking;
  142. let temData = {};
  143. //计算本地时间
  144. for (let val of Reservation){
  145. let anchorWeek = new Date(val.book_timestamp*1000).getDay();
  146. if(anchorWeek == new Date().getDay()){
  147. temData[new Date(val.book_timestamp*1000).getHours()+":"+new Date(val.book_timestamp*1000).getMinutes()] = val.book_timestamp
  148. }
  149. }
  150. if(Object.keys(temData).length > 0){
  151. $('#showTbooking').addClass('showTbooking');
  152. $('#showTbooking').text(`Today's Booking (${Object.keys(temData).length})`);
  153. }
  154. }
  155. })
  156. $('.scheduledLiveListConfirm').on('click', function(){
  157. var id = $(this).attr('data-user');
  158. $.post('/lady/v1/acceptScheduledInvite', {invite_id:id}, function(data){
  159. if(data.errno == 0){
  160. window.location.reload();
  161. }else if(data.errno == 16182){
  162. myParentAlert(data.errmsg);
  163. }
  164. else{
  165. myParentAlert('The booking could not be confirmed.');
  166. }
  167. })
  168. })
  169. $('.scheduledLiveListReject').on('click', function(){
  170. var id = $(this).attr('data-user');
  171. parent.layer.confirm('Are you sure you wish to decline this booking request?', {
  172. btn:['Cancel', 'Yes'],
  173. title:'',
  174. btnAlign:'c',
  175. closeBtn: 0,
  176. shadeClose:true,
  177. shade:0.01
  178. }, function(){
  179. parent.layer.msg('Cancel');
  180. }, function(){
  181. $.post('/lady/v1/rejectScheduledInvite', {invite_id:id}, function(data){
  182. if(data.errno == 0){
  183. window.location.href='/broadcast/scheduledLiveHistory';
  184. }else if(data.errno == 16182){
  185. myParentAlert(data.errmsg);
  186. }else if(data.errno == 16181){
  187. myParentAlert(data.errmsg);
  188. }else{
  189. myParentAlert('Failed to reject private live request. Please try again later.');
  190. }
  191. })
  192. });
  193. })
  194. $(document).on('click', '.showTbooking', function(){
  195. var windowHeigth = $(parent).height();
  196. var openHeigth = '';
  197. var openWidth = '';
  198. if(windowHeigth < 850){
  199. openHeigth = parseInt(windowHeigth * 0.8) + 'px';
  200. openWidth = '550px';
  201. }else{
  202. openHeigth = '795px';
  203. openWidth = '530px';
  204. }
  205. parent.layer.open({
  206. type: 2,
  207. title: '',
  208. closeBtn: 0,
  209. resize: false,
  210. shadeClose: true,
  211. area : [openWidth, openHeigth],
  212. content: '/broadcast/scheduledLiveLayer/today'
  213. });
  214. })
  215. anchorReservationTime();
  216. anchorReservationTimeSent();
  217. //分页
  218. var pages = Math.ceil('<%=data.total%>'/15);
  219. if(pages>1) {
  220. page('page', pages);
  221. }
  222. })
  223. </script>