ClubUserList.js 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. cc.Class({
  2. extends: cc.BaseClass,
  3. properties: {
  4. m_EdUserFind: cc.EditBox,
  5. m_LbAllScore: cc.Label,
  6. },
  7. ctor: function () {
  8. this.m_ClubID = 0;
  9. this.HIDE_ID = 1;
  10. this.TOOGLE_CNT = 3;
  11. this.m_WaitJoinCount = 0;
  12. this._page = 1;
  13. this._totalPage = 1;
  14. this._lvl = 0;
  15. },
  16. OnShowView: function (Tag, bOldData) {
  17. if (bOldData == null) this.m_ClubID = this.m_Hook.m_SelClubInfo.dwClubID;
  18. this.m_ClubLevel = this.m_Hook.m_SelClubInfo.cbClubLevel;
  19. if (this.m_ListCtrl == null) this.m_ListCtrl = this.node.getComponent('CustomListCtrl');
  20. this.m_ListCtrl.InitList(0, 'ClubUserPre', this);
  21. this.$(`Type/1`).active = this.m_ClubLevel >= CLUB_LEVEL_MANAGER;
  22. this.$(`Type/2`).active = this.m_ClubLevel == CLUB_LEVEL_OWNER;
  23. //this.m_bClickToggle = true;
  24. this.$(`0/BtBack`).active = false;
  25. this.ShowPrefabDLG('FilterNode', this.node, function (Js) {
  26. this._filter = Js;
  27. this._filter.SetMode(FILTER_MENU_PAGE | FILTER_MENU_LEVEL, function (o) {
  28. this._lvl = o.l;
  29. this._page = o.p;
  30. this.m_bClickToggle = true;
  31. }.bind(this), cc.Vec2(510, -310));
  32. }.bind(this));
  33. },
  34. OnHideView: function () {
  35. this.node.active = false;
  36. this.m_EdUserFind.string = '';
  37. },
  38. GetSelUserStr: function () {
  39. if (this.m_EdUserFind && this.m_EdUserFind.node.active) {
  40. return this.m_EdUserFind.string;
  41. }
  42. return "";
  43. },
  44. OnChangeSelShowUserList: function (Tag, Num) {
  45. if (Num == 0 && cc.sys.isNative) return
  46. this.OnShowView(null, true);
  47. },
  48. SetClubList: function (UserMap) {
  49. var findStr = this.GetSelUserStr();
  50. var bShowFullID = this.m_Hook.m_SelClubInfo.ClubLevel >= CLUB_LEVEL_MANAGER || (this.m_Hook.m_SelClubInfo.Rules & this.HIDE_ID) == 0;
  51. var UserInfoArr = [];
  52. for (var Lv = CLUB_LEVEL_OWNER; Lv >= CLUB_LEVEL_MEMBER; Lv--) {
  53. for (var i in UserMap) {
  54. if (Lv != UserMap[i][1]) continue;
  55. var UserID = UserMap[i][0];
  56. if (findStr != '' && g_GlobalUserInfo.m_UserInfoMap[UserID] != null) {
  57. var Name = g_GlobalUserInfo.m_UserInfoMap[UserID].NickName;
  58. var ID = g_GlobalUserInfo.m_UserInfoMap[UserID].GameID + '';
  59. if (Name.indexOf(findStr) < 0 && ID.indexOf(findStr) < 0) continue
  60. }
  61. UserInfoArr.push([i, UserID, UserMap[i][1], UserMap[i][2], bShowFullID]);
  62. //this.m_ListCtrl.InsertListInfo(0, [i, UserID, UserMap[i][1], UserMap[i][2], bShowFullID]);
  63. }
  64. }
  65. if (UserInfoArr.length > 0) this.m_ListCtrl.InsertListInfoArr(UserInfoArr);
  66. },
  67. //俱乐部成员
  68. OnBtShowSelEdit: function () {
  69. if (this.m_EdUserFind == null) return;
  70. this.m_EdUserFind.node.active = true;
  71. },
  72. OnBtShowUserDel: function () {
  73. this.m_bShowDel = true;
  74. this.m_ListCtrl.ForEachCtrl(0, function (Js) {
  75. Js.ShowDelBt();
  76. });
  77. },
  78. ShowUserInfo: function (UserID, Level) {
  79. this.m_Hook.ShowUserInfo(UserID, Level, this.m_ClubID);
  80. this.HideView();
  81. },
  82. OnBtWaitJoinAll: function (_, Level) {
  83. if (this.m_WaitJoinCount == 0) return;
  84. window.gClubClientKernel.onSendSetAllJoin(this.m_Hook.m_SelClubInfo.dwClubID, Level);
  85. },
  86. OnOpClubUserLv: function (UserID, Level) {
  87. this.m_Hook.OnOpClubUserLv(UserID, Level);
  88. },
  89. OnUpdateUserList: function (type) {
  90. this.m_Hook.UpdateUserList(false);
  91. this.$(`Type/${type}@Toggle`).check();
  92. },
  93. onClickToggle: function () {
  94. this.m_bClickToggle = true;
  95. cc.gSoundRes.PlaySound('Button');
  96. },
  97. update: function (dt) {
  98. if (this.m_bClickToggle == null) return
  99. this.m_bClickToggle = null;
  100. var type = 0;
  101. for (var i = 0; i < this.TOOGLE_CNT; i++) {
  102. if (this.$(`Type/${i}@Toggle`).isChecked) type = i;
  103. this.$(`${i}`).active = false;
  104. }
  105. //type = 1;
  106. this.$(`${type}`).active = true;
  107. this.m_ListCtrl.InitList(type, 'ClubUserPre');
  108. this._filter.node.active = type == 0;
  109. var webUrl = '';
  110. var pGlobalUserData = g_GlobalUserInfo.GetGlobalUserData();
  111. if (type == 0) {
  112. webUrl = window.PHP_HOME + '/League.php?&GetMark=103&dwUserID=' + pGlobalUserData.dwUserID;
  113. webUrl += '&dwClubID=' + this.m_ClubID;
  114. webUrl += `&start=${(this._page - 1) * window.PAGE_ITEM_CNT + 1}`;
  115. webUrl += `&end=${(this._page) * window.PAGE_ITEM_CNT}`;
  116. webUrl += `&lvl=${this._lvl}`;
  117. WebCenter.GetData(webUrl, 0, function (data) {
  118. if (data == '') return;
  119. var Res = JSON.parse(data);
  120. if (Res.length == 0) return;
  121. this._totalPage = Math.ceil(Res[0][5] / window.PAGE_ITEM_CNT);
  122. this._filter.SetPageTotalCnt(this._totalPage, this._page);
  123. for (var i = 0; i < Res.length; i++) {
  124. var onlineUser = window.gClubClientKernel.OnGetOnlineUser(Res[i][0]);
  125. Res[i][10] = onlineUser ? onlineUser.cbUserStatus : -1;
  126. this.m_ListCtrl.InsertListInfo(type, [type, this, Res[i]]);
  127. }
  128. }.bind(this));
  129. this.$('0/EdID@EditBox').string = '';
  130. this.$(`0/BtSearch`).active = true;
  131. } else if (type == 1) {
  132. webUrl = window.PHP_HOME + '/League.php?&GetMark=7&dwUserID=' + pGlobalUserData.dwUserID;
  133. webUrl += '&ClubID=' + this.m_ClubID;
  134. WebCenter.GetData(webUrl, 0, function (data) {
  135. var UserMap = JSON.parse(data);
  136. for (var i = 0; i < UserMap[2].length; i++) {
  137. var UserID = UserMap[2][i];
  138. this.m_WaitJoinCount = UserMap[2].length;
  139. this.m_ListCtrl.InsertListInfo(type, [type, this, UserID, CLUB_LEVEL_APPLY]);
  140. }
  141. }.bind(this));
  142. }
  143. else {
  144. webUrl = window.PHP_HOME + '/League.php?&GetMark=104&dwUserID=' + pGlobalUserData.dwUserID;
  145. webUrl += '&dwClubID=' + this.m_ClubID;
  146. WebCenter.GetData(webUrl, 0, function (data) {
  147. var Res = JSON.parse(data);
  148. for (var i = 0; i < Res.length; i++) {
  149. this.m_ListCtrl.InsertListInfo(type, [type, this, Res[i]]);
  150. }
  151. }.bind(this));
  152. this.$('2/EdID@EditBox').string = '';
  153. }
  154. },
  155. OnBtSearchUser: function () {
  156. cc.gSoundRes.PlaySound('Button');
  157. var strUserID = this.$('0/EdID@EditBox').string;
  158. if (strUserID == '') {
  159. this.ShowTips('不能為空');
  160. return;
  161. }
  162. this._page = 1;
  163. var type = 0;//0 ID 查询 1- 昵称模糊查询
  164. // if (parseInt(strUserID) == NaN || strUserID.length != 6) {
  165. // type = 1;
  166. // }
  167. this.m_ListCtrl.InitList(0, 'ClubUserPre');
  168. this.$(`0/BtBack`).active = true;
  169. this.$(`0/BtSearch`).active = false;
  170. this._filter.SetPageTotalCnt(1, 1);
  171. var pGlobalUserData = g_GlobalUserInfo.GetGlobalUserData();
  172. var webUrl = window.PHP_HOME + '/League.php?&GetMark=140&dwUserID=' + pGlobalUserData.dwUserID;
  173. webUrl += '&dwClubID=' + this.m_ClubID;
  174. webUrl += `&NickName=${type == 1 ? strUserID : ''}`;
  175. webUrl += `&GameID=${type == 0 ? parseInt(strUserID) : 0}`;
  176. webUrl += `&type=${type}`;
  177. WebCenter.GetData(webUrl, 0, function (data) {
  178. if (data == '') return;
  179. var Res = JSON.parse(data);
  180. for (var i = 0; i < Res.length; i++) {
  181. var onlineUser = window.gClubClientKernel.OnGetOnlineUser(Res[i][0]);
  182. Res[i][10] = onlineUser ? onlineUser.cbUserStatus : -1;
  183. this.m_ListCtrl.InsertListInfo(0, [0, this, Res[i]]);
  184. }
  185. }.bind(this));
  186. },
  187. OnBtBack: function () {
  188. cc.gSoundRes.PlaySound('Button');
  189. this.$('0/EdID@EditBox').string = '';
  190. this.m_bClickToggle = true;
  191. this.$(`0/BtBack`).active = false;
  192. this.$(`0/BtSearch`).active = true;
  193. },
  194. OnBtAddAdmin: function () {
  195. cc.gSoundRes.PlaySound('Button');
  196. var strGameID = this.$('2/EdID@EditBox').string;
  197. if (strGameID == '') {
  198. this.ShowTips('ID不能為空!');
  199. return;
  200. }
  201. var self = this;
  202. var webUrl = window.PHP_HOME + '/UserFunc.php?GetMark=13&dwGameID=' + strGameID;
  203. WebCenter.GetData(webUrl, null, function (data) {
  204. if (data == '') return this.ShowTips('查無此玩家!')
  205. var UserInfo = JSON.parse(data);
  206. webUrl = window.PHP_HOME + '/League.php?GetMark=134&dwClubID=' + this.m_ClubID + '&dwUserID=' + UserInfo.UserID;
  207. WebCenter.GetData(webUrl, null, function (data) {
  208. if (data == '') return this.ShowTips('查無此玩家!')
  209. var obj = JSON.parse(data);
  210. var strMsg = '';
  211. if (obj.ClubLevel == CLUB_LEVEL_PARTNER) {
  212. strMsg = '該玩家身份為合夥人,無法設為管理員。';
  213. } else if (obj.ClubLevel >= CLUB_LEVEL_MANAGER) {
  214. strMsg = '該玩家已經是管理員,無法再次設定。';
  215. } else {
  216. strMsg = '設為管理員後,該玩家將自動退出所有合夥人關係,並停止參與分潤,是否確認繼續?';
  217. }
  218. self.ShowAlert(strMsg, Alert_YesNo, function (Res) {
  219. if (obj.ClubLevel < CLUB_LEVEL_PARTNER && Res) {
  220. self.OnOpClubUserLv(UserInfo.UserID, CLUB_LEVEL_MANAGER);
  221. }
  222. })
  223. })
  224. }.bind(this));
  225. },
  226. onUpdateUserList: function () {
  227. this.m_bClickToggle = true;
  228. },
  229. /////////////////////////////////////
  230. //Pre
  231. });