room_apply.js 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. $(function () {
  2. FastClick.attach(document.body);
  3. var getHrefArguments = function (getKey) {
  4. var arguments_object = {};
  5. var location = window.location.href;
  6. var location_arguments = location.split("?");
  7. var arguments = location_arguments[1].split("&");
  8. for (var i = 0; i < arguments.length; i++) {
  9. arguments_object[arguments[i].split("=")[0]] = arguments[i].split("=")[1];
  10. }
  11. return arguments_object[getKey];
  12. };
  13. var GetApplyList = function () {
  14. this.curpage = 1;
  15. this.hasmore = true;
  16. this.init = function () {
  17. this.getData();
  18. };
  19. this.getData = function (curpage) {
  20. var _self = this;
  21. if(!_self.hasmore) return;
  22. $.showLoading();
  23. $.get("/mobile/index.php", {
  24. act: "member_talk",
  25. op: "ajax_room_apply",
  26. room_id: getHrefArguments("talk_id"),
  27. client_type: "ajax",
  28. curpage: _self.curpage
  29. }, function (res) {
  30. $.hideLoading();
  31. var applyList = JSON.parse(res);
  32. if (applyList.code != 200) {
  33. $.alert(applyList.message);
  34. return;
  35. }
  36. var applyHTML = new ApplyHTML(applyList.datas.applys);
  37. applyHTML.appendHTML("#apply_list");
  38. if (applyList.datas.mobile_page.hasmore) {
  39. _self.curpage = applyList.datas.mobile_page.curpage+1;
  40. _self.hasmore = true;
  41. applyHTML.loadHTML("#load_state");
  42. }
  43. else {
  44. $(window).off('scroll');
  45. _self.hasmore = false;
  46. applyHTML.endHTML("#load_state");
  47. }
  48. })
  49. };
  50. };
  51. var ApplyHTML = function (datas) {
  52. this.applyList = datas;
  53. this.endHTML = function(id){
  54. var endHTML = "<div class=\"weui-loadmore weui-loadmore_line\">\n" +
  55. " <span class=\"weui-loadmore__tips\">我是有底线的</span>\n" +
  56. "</div>";
  57. $(id).empty().append(endHTML);
  58. };
  59. this.loadHTML = function(id){
  60. var loadHTML = "<div class=\"weui-loadmore\">\n" +
  61. " <i class=\"weui-loading\"></i>\n" +
  62. " <span class=\"weui-loadmore__tips\">正在加载</span>\n" +
  63. "</div>";
  64. $(id).empty().append(loadHTML);
  65. };
  66. this.appendHTML = function (id) {
  67. var html = "";
  68. for (var i = 0; i < this.applyList.length; i++) {
  69. if (this.applyList[i].step == 1 || this.applyList[i].step == 2) {
  70. if (this.applyList[i].step == 1) {
  71. html += "<div class=\"weui-cell\">\n" +
  72. " <div class=\"weui-cell__hd\">\n" +
  73. " <img src=\"" + this.applyList[i].avatar + "\">\n" +
  74. " </div>\n" +
  75. " <div class=\"weui-cell__bd\">\n" +
  76. " <p class=\"apply_name\">" + this.applyList[i].nickname + "</p>\n" +
  77. " <p class=\"abstract\">" + this.applyList[i].msg + "</p>\n" +
  78. " </div>\n" +
  79. " <div class=\"weui-cell__ft\">\n" +
  80. " <span class=\"state\">已接受</span>\n" +
  81. " </div>\n" +
  82. " </div>"
  83. }
  84. else {
  85. html += "<div class=\"weui-cell\">\n" +
  86. " <div class=\"weui-cell__hd\">\n" +
  87. " <img src=\"" + this.applyList[i].avatar + "\">\n" +
  88. " </div>\n" +
  89. " <div class=\"weui-cell__bd\">\n" +
  90. " <p class=\"apply_name\">"+ this.applyList[i].nickname +"</p>\n" +
  91. " <p class=\"abstract\">"+this.applyList[i].msg+"</p>\n" +
  92. " </div>\n" +
  93. " <div class=\"weui-cell__ft\">\n" +
  94. " <span class=\"state\">已拒绝</span>\n" +
  95. " </div>\n" +
  96. " </div>"
  97. }
  98. }
  99. else {
  100. html += "<div class=\"weui-cell\">\n" +
  101. " <div class=\"weui-cell__hd\">\n" +
  102. " <img src=\"" + this.applyList[i].avatar + "\">\n" +
  103. " </div>\n" +
  104. " <div class=\"weui-cell__bd\">\n" +
  105. " <p class=\"apply_name\">" + this.applyList[i].nickname + "</p>\n" +
  106. " <p class=\"abstract\">" + this.applyList[i].msg + "</p>\n" +
  107. " </div>\n" +
  108. " <div class=\"weui-cell__ft\">\n" +
  109. " <div class=\"handle\">\n" +
  110. " <span class=\"refusal_btn\" data-apply-id=\"" + this.applyList[i].apply_id + "\">拒绝</span>\n" +
  111. " <span class=\"agree_btn\" data-apply-id=\"" + this.applyList[i].apply_id + "\">同意</span>\n" +
  112. " </div>\n" +
  113. " </div>\n" +
  114. " </div>"
  115. }
  116. }
  117. $(id).append(html);
  118. }
  119. };
  120. var get_apply_list = new GetApplyList();
  121. get_apply_list.init();
  122. $(window).on('scroll',function(){
  123. clearTimeout(this.timer);
  124. this.timer = setTimeout(function(){
  125. var scrollTop = $(this).scrollTop();
  126. var scrollHeight = $(document).height();
  127. var windowHeight = $(this).height();
  128. if(scrollTop + windowHeight == scrollHeight){
  129. get_apply_list.getData();
  130. }
  131. },500);
  132. });
  133. $(document).on('click','.refusal_btn',function(){
  134. var apply_id = $(this).attr('data-apply-id');
  135. console.log(apply_id);
  136. $.showLoading();
  137. var _self = $(this);
  138. $.get("/mobile/index.php", {
  139. act: "member_talk",
  140. op: "pass_apply",
  141. apply_id: apply_id,
  142. step:2,
  143. client_type: "ajax",
  144. }, function (res) {
  145. $.hideLoading();
  146. var data = JSON.parse(res);
  147. if (data.code != 200) {
  148. $.alert(data.message);
  149. return;
  150. }
  151. _self.parent().parent().append("<div class=\"weui-cell__ft\"><span class=\"state\">已拒绝</span></div>");
  152. _self.parent().remove();
  153. $.toast('操作成功',1000);
  154. })
  155. });
  156. $(document).on('click','.agree_btn',function(){
  157. var apply_id = $(this).attr('data-apply-id');
  158. console.log(apply_id);
  159. $.showLoading();
  160. var _self = $(this);
  161. $.get("/mobile/index.php", {
  162. act: "member_talk",
  163. op: "pass_apply",
  164. apply_id: apply_id,
  165. step:1,
  166. client_type: "ajax",
  167. }, function (res) {
  168. $.hideLoading();
  169. var data = JSON.parse(res);
  170. if (data.code != 200) {
  171. $.alert(data.message);
  172. return;
  173. }
  174. _self.parent().parent().append("<div class=\"weui-cell__ft\"><span class=\"state\">已接受</span></div>");
  175. _self.parent().remove();
  176. $.toast('操作成功',1000);
  177. })
  178. });
  179. });