You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

964 lines
27 KiB

  1. -- 成员列表Layout
  2. local ClubPlayerMatch = class("ClubPlayerMatch" , cc.UIView);
  3. local ClubDefine = require("luaScript.Protocol.Club.ClubDefine")
  4. local MATCH_DAY = {
  5. JIN_RI = 0,
  6. ZUO_RI = 1,
  7. QIAN_RI = 2,
  8. }
  9. local MATCH_DAY_Txt = {
  10. [MATCH_DAY.JIN_RI] = "今日",
  11. [MATCH_DAY.ZUO_RI] = "昨日",
  12. [MATCH_DAY.QIAN_RI] = "前日",
  13. }
  14. --一页30个
  15. local PAGE_COUNT = 10
  16. function ClubPlayerMatch:ctor(clubId,searchData)
  17. ClubPlayerMatch.super.ctor(self)
  18. self.clubId = clubId
  19. --单个茶馆数据
  20. self.clubInfo = app.club_php.clubList[clubId]
  21. --只用于是否播放标签页按钮音效
  22. self.touchIdx = 1;
  23. self.curPage = 1
  24. self.totolPage = 1
  25. self.dayTag = MATCH_DAY.JIN_RI --默认今日
  26. self.tag = ClubDefine.PlayListType.MATCH_MEMBER
  27. self.sort = true;
  28. self.searchData = searchData;
  29. self:loadUI()
  30. end
  31. function ClubPlayerMatch:loadUI()
  32. local ui = loadUI("res/ui/ui_club/ui_club_player_match.ui")
  33. self.ui = ui;
  34. self:addChild(ui);
  35. end
  36. function ClubPlayerMatch:onEnter()
  37. ClubPlayerMatch.super.onEnter(self)
  38. if not self.clubInfo then
  39. return
  40. end
  41. self:initButton()
  42. self.ui.Items.Image_SelectBg:setVisible(false)
  43. self.ui.Items.ScrollView_Member:hideAllBar()
  44. self.ui.Items.ScrollView_Record:hideAllBar()
  45. self.ui.Items.ScrollView_Select:hideAllBar()
  46. self.ui.Items.Image_Up:registerClick(handler(self,self.onUp))
  47. self.ui.Items.Image_Down:registerClick(handler(self,self.onDown))
  48. self.ui.Items.Image_Down:setVisible(false)
  49. self:initBindEvent()
  50. end
  51. function ClubPlayerMatch:onUp()
  52. playBtnEffect()
  53. self.ui.Items.Image_SelectBg:setVisible(true)
  54. self.ui.Items.Image_Down:setVisible(true)
  55. self.ui.Items.Image_Up:setVisible(false)
  56. end
  57. function ClubPlayerMatch:onDown()
  58. playBtnEffect()
  59. self.ui.Items.Image_SelectBg:setVisible(false)
  60. self.ui.Items.Image_Down:setVisible(false)
  61. self.ui.Items.Image_Up:setVisible(true)
  62. end
  63. function ClubPlayerMatch:initButton()
  64. --关闭
  65. self.ui.Items.Button_close:registerClick(handler(self , self.onClose))
  66. self.ui.Items.Button_Rank:registerClick(handler(self , self.onMatchRank))
  67. self.ui.Items.Button_Rank:setVisible(self.clubInfo.role == ClubDefine.Job.Manager or self.clubInfo.role == ClubDefine.Job.Creator)
  68. --添加成员
  69. self.ui.Items.Button_add:registerClick(handler(self , self.onAdd))
  70. --搜索
  71. self.ui.Items.Button_search:registerClick(handler(self , self.onSearchPlayer))
  72. self.ui.Items.Button_jinzhi:registerClick(handler(self , self.onClickForbidList))
  73. if self.clubInfo.role == ClubDefine.Job.LevelOneCopartner or self.clubInfo.role == ClubDefine.Job.LevelTwoCopartner then
  74. self.ui.Items.Button_jinzhi:setVisible(false)
  75. end
  76. --翻页
  77. self.ui.Items.Button_page_up:registerClick(handler(self , self.onClickUpPage))
  78. self.ui.Items.Button_page_next:registerClick(handler(self , self.onClickNextPage))
  79. --调整红花
  80. self.ui.Items.Button_addjust_red:setVisible(false)
  81. self.ui.Items.Button_addjust_red:registerClick(handler(self , self.onAdjustRedFlower))
  82. self.ui.Items.Button_page_up_1:registerClick(handler(self , self.onClickUpPage))
  83. self.ui.Items.Button_page_next_1:registerClick(handler(self , self.onClickNextPage))
  84. local radioManager = import("luaScript.Tools.RadioManager"):new()
  85. radioManager:addItem(self.ui.Items.CheckBox_match_member,ClubDefine.PlayListType.MATCH_MEMBER)
  86. radioManager:addItem(self.ui.Items.CheckBox_match_record,ClubDefine.PlayListType.MATCH_RECORD)
  87. radioManager:setCallback(handler(self , self.onClickMatchTypeTag))
  88. local defaultView = ClubDefine.PlayListType.MATCH_MEMBER
  89. if self.searchData and self.searchData.isRecordView then
  90. defaultView = ClubDefine.PlayListType.MATCH_RECORD
  91. end
  92. radioManager:setDefault(defaultView)
  93. --昨日前日今日
  94. self.ui.Items.Layout_Select_0:registerClick(function ()
  95. self:onClickDay(MATCH_DAY.QIAN_RI)
  96. end)
  97. self.ui.Items.Layout_Select_1:registerClick(function ()
  98. self:onClickDay(MATCH_DAY.JIN_RI)
  99. end)
  100. self.ui.Items.Layout_Select_2:registerClick(function ()
  101. self:onClickDay(MATCH_DAY.ZUO_RI)
  102. end)
  103. local function setSeletBgVisible()
  104. self.ui.Items.Image_SelectBg:setVisible(false)
  105. self.ui.Items.Image_Down:setVisible(false)
  106. self.ui.Items.Image_Up:setVisible(true)
  107. end
  108. self.ui.Items.Layout_1:registerClick(function ()
  109. setSeletBgVisible()
  110. end)
  111. self.ui.Items.ScrollView_Record:registerClick(function ()
  112. setSeletBgVisible()
  113. end)
  114. --比赛场排序
  115. self.ui.Items.Button_status:registerClick(handler(self , self.onStatuSort))
  116. self.ui.Items.Layout_status:registerClick(handler(self , self.onStatuSort))
  117. self.ui.Items.Button_redNum:registerClick(handler(self , self.onStatuRedNum))
  118. self.ui.Items.Layout_redNum:registerClick(handler(self , self.onStatuRedNum))
  119. self.ui.Items.Button_ratdio:registerClick(handler(self , self.onStatuRatdio))
  120. self.ui.Items.Layout_ratdio:registerClick(handler(self , self.onStatuRatdio))
  121. --比赛记录排序
  122. self.ui.Items.Button_redNumChange:registerClick(handler(self , self.onStatuRedChange))
  123. self.ui.Items.Layout_redNumChange:registerClick(handler(self , self.onStatuRedChange))
  124. self.ui.Items.Button_receiveGreen:registerClick(handler(self , self.onStatuReceiveGreen))
  125. self.ui.Items.Layout_receiveGreen:registerClick(handler(self , self.onStatuReceiveGreen))
  126. self.ui.Items.Button_jushu:registerClick(handler(self , self.onStatuJuShu))
  127. self.ui.Items.Layout_jushu:registerClick(handler(self , self.onStatuJuShu))
  128. self.ui.Items.Button_score:registerClick(handler(self , self.onStatuScore))
  129. self.ui.Items.Layout_score:registerClick(handler(self , self.onStatuScore))
  130. self.ui.Items.Button_dayingjia:registerClick(handler(self , self.onStatuDaYingJia))
  131. self.ui.Items.Layout_dayingjia:registerClick(handler(self , self.onStatuDaYingJia))
  132. end
  133. --玩家状态排序
  134. function ClubPlayerMatch:onStatuSort()
  135. playBtnEffect()
  136. if self.sort then
  137. --升序
  138. self:sortOnline("asc");
  139. self.sort = false;
  140. else
  141. --降序
  142. self:sortOnline("desc");
  143. self.sort = true;
  144. end
  145. end
  146. --状态排序
  147. function ClubPlayerMatch:sortOnline(sortType)
  148. local playerList = self.lastSortPlayer;
  149. if playerList then
  150. local lT = {};
  151. for k,v in pairs(playerList) do
  152. table.insert(lT,v)
  153. end
  154. if sortType == "asc" then
  155. --升序
  156. local function sortFunc(a,b)
  157. return a.online < b.online
  158. end
  159. table.sort(lT, sortFunc);
  160. elseif sortType == "desc" then
  161. --降序
  162. local function sortFunc(a,b)
  163. return a.online > b.online
  164. end
  165. table.sort(lT, sortFunc);
  166. end
  167. self:updatePlayerList(lT)
  168. end
  169. end
  170. function ClubPlayerMatch:onStatuRedNum()
  171. playBtnEffect()
  172. if self.sort then
  173. --升序
  174. self:sortRedNum("asc");
  175. self.sort = false;
  176. else
  177. --降序
  178. self:sortRedNum("desc");
  179. self.sort = true;
  180. end
  181. end
  182. function ClubPlayerMatch:sortRedNum(sortType)
  183. local playerList = self.lastSortPlayer;
  184. if playerList then
  185. local lT = {};
  186. for k,v in pairs(playerList) do
  187. table.insert(lT,v)
  188. end
  189. if sortType == "asc" then
  190. --升序
  191. local function sortFunc(a,b)
  192. return a.useRedFlower < b.useRedFlower
  193. end
  194. table.sort(lT, sortFunc);
  195. elseif sortType == "desc" then
  196. --降序
  197. local function sortFunc(a,b)
  198. return a.useRedFlower > b.useRedFlower
  199. end
  200. table.sort(lT, sortFunc);
  201. end
  202. self:updatePlayerList(lT)
  203. end
  204. end
  205. function ClubPlayerMatch:onStatuRatdio()
  206. playBtnEffect()
  207. if self.sort then
  208. --升序
  209. self:sortRatdio("asc");
  210. self.sort = false;
  211. else
  212. --降序
  213. self:sortRatdio("desc");
  214. self.sort = true;
  215. end
  216. end
  217. function ClubPlayerMatch:sortRatdio(sortType)
  218. local playerList = self.lastSortPlayer;
  219. if playerList then
  220. local lT = {};
  221. for k,v in pairs(playerList) do
  222. table.insert(lT,v)
  223. end
  224. if sortType == "asc" then
  225. --升序
  226. local function sortFunc(a,b)
  227. return a.arenaRatio < b.arenaRatio
  228. end
  229. table.sort(lT, sortFunc);
  230. elseif sortType == "desc" then
  231. --降序
  232. local function sortFunc(a,b)
  233. return a.arenaRatio > b.arenaRatio
  234. end
  235. table.sort(lT, sortFunc);
  236. end
  237. self:updatePlayerList(lT)
  238. end
  239. end
  240. function ClubPlayerMatch:onStatuRedChange()
  241. playBtnEffect()
  242. if self.sort then
  243. --升序
  244. self:sortRedChange("asc");
  245. self.sort = false;
  246. else
  247. --降序
  248. self:sortRedChange("desc");
  249. self.sort = true;
  250. end
  251. end
  252. function ClubPlayerMatch:sortRedChange(sortType)
  253. local playerList = self.lastSortPlayer;
  254. if playerList then
  255. local lT = {};
  256. for k,v in pairs(playerList) do
  257. table.insert(lT,v)
  258. end
  259. if sortType == "asc" then
  260. --升序
  261. local function sortFunc(a,b)
  262. return a.changeRedFlower < b.changeRedFlower
  263. end
  264. table.sort(lT, sortFunc);
  265. elseif sortType == "desc" then
  266. --降序
  267. local function sortFunc(a,b)
  268. return a.changeRedFlower > b.changeRedFlower
  269. end
  270. table.sort(lT, sortFunc);
  271. end
  272. self:updatePlayerList(lT)
  273. end
  274. end
  275. function ClubPlayerMatch:onStatuReceiveGreen()
  276. playBtnEffect()
  277. if self.sort then
  278. --升序
  279. self:sortReceiveGreen("asc");
  280. self.sort = false;
  281. else
  282. --降序
  283. self:sortReceiveGreen("desc");
  284. self.sort = true;
  285. end
  286. end
  287. function ClubPlayerMatch:sortReceiveGreen(sortType)
  288. local playerList = self.lastSortPlayer;
  289. if playerList then
  290. local lT = {};
  291. for k,v in pairs(playerList) do
  292. table.insert(lT,v)
  293. end
  294. if sortType == "asc" then
  295. --升序
  296. local function sortFunc(a,b)
  297. return a.changeGreen < b.changeGreen
  298. end
  299. table.sort(lT, sortFunc);
  300. elseif sortType == "desc" then
  301. --降序
  302. local function sortFunc(a,b)
  303. return a.changeGreen > b.changeGreen
  304. end
  305. table.sort(lT, sortFunc);
  306. end
  307. self:updatePlayerList(lT)
  308. end
  309. end
  310. function ClubPlayerMatch:onStatuJuShu()
  311. playBtnEffect()
  312. if self.sort then
  313. --升序
  314. self:sortJuShu("asc");
  315. self.sort = false;
  316. else
  317. --降序
  318. self:sortJuShu("desc");
  319. self.sort = true;
  320. end
  321. end
  322. function ClubPlayerMatch:sortJuShu(sortType)
  323. local playerList = self.lastSortPlayer;
  324. if playerList then
  325. local lT = {};
  326. for k,v in pairs(playerList) do
  327. table.insert(lT,v)
  328. end
  329. if sortType == "asc" then
  330. --升序
  331. local function sortFunc(a,b)
  332. return a.playNum < b.playNum
  333. end
  334. table.sort(lT, sortFunc);
  335. elseif sortType == "desc" then
  336. --降序
  337. local function sortFunc(a,b)
  338. return a.playNum > b.playNum
  339. end
  340. table.sort(lT, sortFunc);
  341. end
  342. self:updatePlayerList(lT)
  343. end
  344. end
  345. function ClubPlayerMatch:onStatuScore()
  346. playBtnEffect()
  347. if self.sort then
  348. --升序
  349. self:sortScore("asc");
  350. self.sort = false;
  351. else
  352. --降序
  353. self:sortScore("desc");
  354. self.sort = true;
  355. end
  356. end
  357. function ClubPlayerMatch:sortScore(sortType)
  358. local playerList = self.lastSortPlayer;
  359. if playerList then
  360. local lT = {};
  361. for k,v in pairs(playerList) do
  362. table.insert(lT,v)
  363. end
  364. if sortType == "asc" then
  365. --升序
  366. local function sortFunc(a,b)
  367. return a.totalScore < b.totalScore
  368. end
  369. table.sort(lT, sortFunc);
  370. elseif sortType == "desc" then
  371. --降序
  372. local function sortFunc(a,b)
  373. return a.totalScore > b.totalScore
  374. end
  375. table.sort(lT, sortFunc);
  376. end
  377. self:updatePlayerList(lT)
  378. end
  379. end
  380. function ClubPlayerMatch:onStatuDaYingJia()
  381. playBtnEffect()
  382. if self.sort then
  383. --升序
  384. self:sortDaYingJia("asc");
  385. self.sort = false;
  386. else
  387. --降序
  388. self:sortDaYingJia("desc");
  389. self.sort = true;
  390. end
  391. end
  392. function ClubPlayerMatch:sortDaYingJia(sortType)
  393. local playerList = self.lastSortPlayer;
  394. if playerList then
  395. local lT = {};
  396. for k,v in pairs(playerList) do
  397. table.insert(lT,v)
  398. end
  399. if sortType == "asc" then
  400. --升序
  401. local function sortFunc(a,b)
  402. return a.playWinNum < b.playWinNum
  403. end
  404. table.sort(lT, sortFunc);
  405. elseif sortType == "desc" then
  406. --降序
  407. local function sortFunc(a,b)
  408. return a.playWinNum > b.playWinNum
  409. end
  410. table.sort(lT, sortFunc);
  411. end
  412. self:updatePlayerList(lT)
  413. end
  414. end
  415. function ClubPlayerMatch:onClickDay(tag)
  416. playBtnEffect()
  417. --重置页数
  418. self.curPage = 1
  419. self.dayTag = tag
  420. self.ui.Items.Image_SelectBg:setVisible(false)
  421. self.ui.Items.Image_Down:setVisible(false)
  422. self.ui.Items.Image_Up:setVisible(true)
  423. self.ui.Items.Text_Info:setText(tostring(MATCH_DAY_Txt[tag]))
  424. if self.clubInfo then
  425. local playerJson = {
  426. clubId = self.clubInfo.clubId,
  427. day = tag,
  428. viewType = ClubDefine.PlayListType.MATCH_RECORD,
  429. status = self.tag,
  430. }
  431. app.club_php:requestPlayerList(playerJson)
  432. end
  433. end
  434. function ClubPlayerMatch:initBindEvent()
  435. --绑定请求成员列表成功回调事件
  436. self:bindEvent(app.club_php , GAME_EVENT.CLUB_PLAYER_LIST , handler(self , self.onUpdatePlayerListEvent))
  437. --权限发生改变
  438. self:bindEvent(app.club_php , GAME_EVENT.CLUB_CHANGE_ROLE , handler(self , self.onChangeRole));
  439. --绑定比赛开关回调
  440. self:bindEvent(app.club_php , GAME_EVENT.CLUB_SET , handler(self , self.onSetSuccess));
  441. --绑定请求禁止同桌列表成功回调事件
  442. self:bindEvent(app.club_php , GAME_EVENT.CLUB_PLAYER_BAN_LIST , handler(self , self.onPlayerBanList));
  443. --通知界面刷新当前列表
  444. self:bindEvent(app.club_php, GAME_EVENT.NOTICE_REQUEST_PLAYER_LIST, handler(self, self.onReuqestPlayerList))
  445. --绑定请求禁止同桌成员列表成功回调事件
  446. self:bindEvent(app.club_php , GAME_EVENT.CLUB_PLAYER_BAN_ALL_LIST , handler(self , self.onGetClubForbidListSuccess));
  447. --搜素
  448. self:bindEvent(app.club_php , GAME_EVENT.CLUB_PLAYER_SEARCH , handler(self , self.onSearchPlayerSuccess));
  449. --设置一级合伙人失败
  450. self:bindEvent(app.club_php , GAME_EVENT.CLUB_SET_COPARTNER_ONE_FAILE , handler(self , self.onSetCopartnerFail));
  451. self:bindTextFildTouch()
  452. end
  453. -- 角色权限修改
  454. function ClubPlayerMatch:onChangeRole()
  455. self:removeFromParent()
  456. end
  457. -- 当比赛一关,其他和比赛有关的界面需要关闭
  458. function ClubPlayerMatch:onSetSuccess(data)
  459. if not data or not data.setType then
  460. return
  461. end
  462. if data.setType == GAME_CLUB_SET_STATE.Math_Switch then
  463. self:removeFromParent()
  464. end
  465. end
  466. function ClubPlayerMatch:onClose()
  467. playBtnCloseEffect()
  468. self:removeFromParent()
  469. end
  470. function ClubPlayerMatch:onMatchRank()
  471. playBtnEffect()
  472. local view = import("luaScript.Views.Club.ClubPlayerMatchRank"):new(self.clubInfo.clubId)
  473. view:setAnchorPoint(cc.p(0.5, 0.5))
  474. app:showWaitDialog(view)
  475. end
  476. --添加成员
  477. function ClubPlayerMatch:onAdd()
  478. playBtnEffect()
  479. if self.clubInfo.role == ClubDefine.Job.Manager then
  480. local view = import("luaScript.Views.Club.ClubAddPlayer"):new(self.clubInfo.clubId,self.tag)
  481. view:setAnchorPoint(cc.p(0.5, 0.5))
  482. app:showWaitDialog(view)
  483. else
  484. local view = import("luaScript.Views.Club.ClubAddPlayerView"):new(self.clubInfo)
  485. view:setAnchorPoint(cc.p(0.5, 0.5))
  486. app:showWaitDialog(view)
  487. end
  488. end
  489. --下一页
  490. function ClubPlayerMatch:onClickNextPage()
  491. playBtnEffect()
  492. self.curPage = self.curPage + 1
  493. if self.curPage>self.totolPage then
  494. self.curPage = self.totolPage
  495. end
  496. self:updatePlayerList()
  497. end
  498. --上一页
  499. function ClubPlayerMatch:onClickUpPage()
  500. playBtnEffect()
  501. self.curPage = self.curPage - 1
  502. if self.curPage<1 then
  503. self.curPage = 1
  504. end
  505. self:updatePlayerList()
  506. end
  507. function ClubPlayerMatch:onAdjustRedFlower()
  508. playBtnEffect()
  509. local view = import("luaScript.Views.Club.ClubPlayerMatchAdjustAllHongHua"):new(self.clubInfo.clubId)
  510. view:setAnchorPoint(cc.p(0.5, 0.5))
  511. app:showWaitDialog(view)
  512. end
  513. --获取禁止同桌成员列表
  514. function ClubPlayerMatch:onClickForbidList()
  515. playBtnEffect()
  516. app.club_php:requestForbidList(self.clubId)
  517. end
  518. function ClubPlayerMatch:bindTextFildTouch()
  519. local nodeName = self.ui.Items.TextField_search;
  520. local function onTouchEnded(touch , event)
  521. local searchCont = nodeName:getText();
  522. if searchCont == "" then
  523. if self.curPage == 1 then
  524. self:onUpdatePlayerListEvent({type = self.tag})
  525. else
  526. self:updatePlayerList()
  527. end
  528. return;
  529. end
  530. end
  531. nodeName:addEventListener(onTouchEnded)
  532. end
  533. function ClubPlayerMatch:onUpdatePlayerListEvent(data)
  534. if not data or not data.type then
  535. return
  536. end
  537. local mType = data.type
  538. if mType == self.tag then
  539. --重置
  540. self.curPage = 1
  541. self.totolPage = 1
  542. local players = {}
  543. local data = {}
  544. if self.searchData then
  545. data = self.clubInfo.players
  546. self.searchData = nil
  547. else
  548. data = self.clubInfo.playersMatch
  549. end
  550. for k,v in pairs(data) do
  551. table.insert(players,v)
  552. end
  553. local function sortFunc(a, b)
  554. local aRole = tonumber(a.role)
  555. local bRole = tonumber(b.role)
  556. if aRole ~= bRole and (aRole == ClubDefine.Job.Copartner or bRole == ClubDefine.Job.Copartner
  557. or aRole == ClubDefine.Job.LevelOneCopartner or aRole == ClubDefine.Job.LevelTwoCopartner
  558. or bRole == ClubDefine.Job.LevelOneCopartner or bRole == ClubDefine.Job.LevelTwoCopartner) then
  559. if (aRole == ClubDefine.Job.LevelTwoCopartner and bRole == ClubDefine.Job.LevelOneCopartner) or (bRole == ClubDefine.Job.LevelTwoCopartner and aRole == ClubDefine.Job.LevelOneCopartner)then
  560. return aRole < bRole
  561. elseif aRole == ClubDefine.Job.Copartner or aRole == ClubDefine.Job.LevelOneCopartner or aRole == ClubDefine.Job.LevelTwoCopartner then
  562. return bRole ~= ClubDefine.Job.Manager and bRole ~= ClubDefine.Job.Creator
  563. else
  564. return aRole == ClubDefine.Job.Manager or aRole == ClubDefine.Job.Creator
  565. end
  566. end
  567. return aRole > bRole
  568. end
  569. table.sort(players,sortFunc)
  570. self:updatePlayerList(players)
  571. self.ui.Items.Text_online_num:setText(tostring(self.clubInfo.onlinePlayerNum))
  572. if self.clubInfo.role == ClubDefine.Job.Creator then
  573. self.ui.Items.Text_total_num:setText("/"..tostring(self.clubInfo.playerNum))
  574. else
  575. self.ui.Items.Text_total_num:setText("/"..tostring(self.clubInfo.totalPlayerNum))
  576. end
  577. --match recored
  578. self.ui.Items.Text_Total_member:setText(tostring(self.clubInfo.totalPlayerNum))
  579. end
  580. end
  581. function ClubPlayerMatch:updatePlayerList(data)
  582. local mListView = self.tag == ClubDefine.PlayListType.MATCH_MEMBER and self.ui.Items.ScrollView_Member or self.ui.Items.ScrollView_Record
  583. local className = self.tag == ClubDefine.PlayListType.MATCH_MEMBER and "luaScript.Views.Club.ClubPlayerMatchItem" or "luaScript.Views.Club.ClubPlayerMatchRecordItem"
  584. mListView:getInnerContainer():setAutoSize(true)
  585. mListView:removeAllChildren()
  586. local players = {}
  587. if data then
  588. players = data
  589. --记录上一次排序后的players数组,点上一页下一页时用
  590. self.lastSortPlayer = {}
  591. self.lastSortPlayer = players
  592. else
  593. if self.lastSortPlayer and table.nums(self.lastSortPlayer) > 0 then
  594. players = self.lastSortPlayer
  595. else
  596. for k,v in pairs(self.clubInfo.playersMatch) do
  597. table.insert(players,v)
  598. end
  599. end
  600. end
  601. self.totolPage = math.ceil(table.nums(players)/PAGE_COUNT)
  602. local startIndex = (self.curPage-1) * PAGE_COUNT + 1
  603. local endIndex = startIndex + PAGE_COUNT - 1
  604. logD("match88888当前页玩家数据:")
  605. for i=startIndex,endIndex do
  606. local v = players[i]
  607. if v then
  608. local item = import(className):new(v,self.clubInfo.clubId,i,self.dayTag,self.tag,function ()
  609. self:removeFromParent()
  610. end)
  611. mListView:addChild(item.ui)
  612. end
  613. end
  614. logD("match88888当前页玩家数据打印完毕!")
  615. mListView:jumpToTopOnSizeChanged()
  616. if self.tag == ClubDefine.PlayListType.MATCH_MEMBER then
  617. --创始人显示添加及导入,管理员只显示添加显示按钮(1:成员 2:管理员 3:创始人)
  618. self.ui.Items.Layout_add_btn:setVisible(self.clubInfo.role == ClubDefine.Job.Manager
  619. or self.clubInfo.role == ClubDefine.Job.Creator or self.clubInfo.role == ClubDefine.Job.LevelOneCopartner
  620. or self.clubInfo.role == ClubDefine.Job.LevelTwoCopartner)
  621. self.ui.Items.Button_addjust_red:setVisible(self.clubInfo.role == ClubDefine.Job.Creator
  622. or self.clubInfo.role == ClubDefine.Job.LevelOneCopartner
  623. or self.clubInfo.role == ClubDefine.Job.LevelTwoCopartner)
  624. self.ui.Items.Text_Cur_page:setString(self.curPage)
  625. self.ui.Items.Text_Total_page:setString("/"..self.totolPage)
  626. else
  627. self.ui.Items.Text_Cur_page_3:setString(self.curPage)
  628. self.ui.Items.Text_Total_page_3:setString("/"..self.totolPage)
  629. end
  630. end
  631. --搜索玩家
  632. function ClubPlayerMatch:onSearchPlayer()
  633. playBtnEffect()
  634. if not self.clubInfo then
  635. return
  636. end
  637. local searchCont = self.ui.Items.TextField_search:getText();
  638. if searchCont == "" or not tonumber(searchCont) then
  639. showTooltip("请输入玩家ID");
  640. return;
  641. end
  642. if self.tag == ClubDefine.PlayListType.MATCH_MEMBER then
  643. local playerJson = {
  644. clubId = self.clubInfo.clubId,
  645. viewType = ClubDefine.PlayListType.SEARCH_PLAYER,
  646. status = self.tag,
  647. suid = searchCont
  648. }
  649. app.club_php:requestPlayerList(playerJson)
  650. else
  651. local playerJson = {
  652. clubId = self.clubInfo.clubId,
  653. viewType = ClubDefine.PlayListType.SEARCH_PLAYER,
  654. status = self.tag,
  655. day = self.dayTag,
  656. suid = searchCont
  657. }
  658. app.club_php:requestPlayerList(playerJson)
  659. end
  660. end
  661. function ClubPlayerMatch:onSearchPlayerSuccess(data)
  662. if not data then
  663. return
  664. end
  665. local result = data.result
  666. --logD("result:",table.tostring(result))
  667. if result then
  668. local tt = {}
  669. for k,v in pairs(result.list) do
  670. table.insert(tt,v)
  671. end
  672. local player = tt[1]
  673. if player then
  674. local parentPlayer = {}
  675. parentPlayer.role = player.parentRole
  676. --[[if player.copartner ~= 0 then
  677. parentPlayer.uid = player.copartner
  678. else
  679. parentPlayer.uid = player.copartner5
  680. end--]]
  681. --lastOpId 代表大上一级ID,比如“二级的成员或者二级他自己”大上级都是一级合伙人的ID,
  682. --而parentPlayer.uid是上级ID,比如二级的成员上级ID是二级合伙人。
  683. local lastOpId = 0
  684. player.copartner = toNumber(player.copartner)
  685. player.copartner5 = toNumber(player.copartner5)
  686. if player.role == ClubDefine.Job.LevelOneCopartner then
  687. lastOpId = app.user.loginInfo.uid
  688. parentPlayer.uid = app.user.loginInfo.uid
  689. elseif player.role == ClubDefine.Job.LevelTwoCopartner then
  690. lastOpId = player.copartner5 --一级
  691. parentPlayer.uid = player.copartner5
  692. elseif player.role == ClubDefine.Job.Member then
  693. if player.copartner == 0 and player.copartner5 == 0 then --一级和二级的ID为0,则是自己的名下
  694. lastOpId = app.user.loginInfo.uid
  695. parentPlayer.uid = app.user.loginInfo.uid
  696. elseif player.copartner == 0 and player.copartner5 > 0 then --一级名下成员
  697. lastOpId = app.user.loginInfo.uid
  698. parentPlayer.uid = player.copartner5
  699. elseif player.copartner > 0 and player.copartner5 > 0 then --二级名下成员
  700. lastOpId = player.copartner5
  701. parentPlayer.uid = player.copartner
  702. end
  703. end
  704. if player.parentRole == ClubDefine.Job.Creator or player.parentRole == self.clubInfo.role
  705. or player.role == self.clubInfo.role then
  706. self.curPage = 1
  707. self.totolPage = 1
  708. local mListView = self.tag == ClubDefine.PlayListType.MATCH_MEMBER and self.ui.Items.ScrollView_Member or self.ui.Items.ScrollView_Record
  709. local className = self.tag == ClubDefine.PlayListType.MATCH_MEMBER and "luaScript.Views.Club.ClubPlayerMatchItem" or "luaScript.Views.Club.ClubPlayerMatchRecordItem"
  710. mListView:getInnerContainer():setAutoSize(true)
  711. mListView:removeAllChildren()
  712. local newPlayerList = {}
  713. for k,playerInfo in pairsByKeys(self.clubInfo.players) do
  714. --id查找
  715. local findIdEnd = string.find(playerInfo.uid, tostring(player.uid));
  716. if findIdEnd then
  717. local playerItem = import(className):new(playerInfo,self.clubInfo.clubId,1,self.dayTag,self.tag,function ()
  718. self:removeFromParent()
  719. end)
  720. mListView:addChild(playerItem.ui);
  721. end
  722. table.insert(newPlayerList,playerInfo)
  723. end
  724. self.lastSortPlayer = newPlayerList
  725. mListView:jumpToTopOnSizeChanged()
  726. if self.tag == ClubDefine.PlayListType.MATCH_MEMBER then
  727. self.ui.Items.Text_Cur_page:setString(self.curPage)
  728. self.ui.Items.Text_Total_page:setString("/"..self.totolPage)
  729. else
  730. self.ui.Items.Text_Cur_page_3:setString(self.curPage)
  731. self.ui.Items.Text_Total_page_3:setString("/"..self.totolPage)
  732. end
  733. else
  734. if self.tag == ClubDefine.PlayListType.MATCH_MEMBER then
  735. local view = import("luaScript.Views.Club.ClubPlayerMatchHeHuoRen"):new(self.clubId, parentPlayer,lastOpId,player)
  736. view:setAnchorPoint(cc.p(0.5, 0.5))
  737. app:showWaitDialog(view)
  738. else
  739. local view = import("luaScript.Views.Club.ClubPlayerMatchHeHuoRenRecord"):new(self.clubId, parentPlayer,lastOpId,player)
  740. view:setAnchorPoint(cc.p(0.5, 0.5))
  741. app:showWaitDialog(view)
  742. end
  743. self:removeFromParent()
  744. end
  745. else
  746. showConfirmDialog("输入的ID错误或权限不足,请重新输入!")
  747. end
  748. end
  749. end
  750. function ClubPlayerMatch:onClickMatchTypeTag(tag)
  751. if self.touchIdx > 1 then
  752. --playBtnTagEffect()
  753. end
  754. self.ui.Items.Image_SelectBg:setVisible(false)
  755. self.touchIdx = self.touchIdx + 1
  756. self.tag = tag
  757. self.ui.Items.TextField_search:setText("");
  758. if self.tag == ClubDefine.PlayListType.MATCH_MEMBER then
  759. self.ui.Items.Layout_MathMember:setVisible(true)
  760. self.ui.Items.Layout_MatchRecord:setVisible(false)
  761. else
  762. self.ui.Items.Layout_MatchRecord:setVisible(true)
  763. self.ui.Items.Layout_MathMember:setVisible(false)
  764. end
  765. if self.searchData and not self.searchData.isIgnore then
  766. self.ui.Items.TextField_search:setText(tostring(self.searchData.uid))
  767. self:onUpdatePlayerListEvent({type = self.tag})
  768. else
  769. self.searchData = nil
  770. if self.tag == ClubDefine.PlayListType.MATCH_MEMBER then
  771. if self.clubInfo then
  772. local playerJson = {
  773. clubId = self.clubInfo.clubId,
  774. viewType = ClubDefine.PlayListType.MATCH_MEMBER,
  775. status = tag,
  776. }
  777. app.club_php:requestPlayerList(playerJson)
  778. end
  779. else
  780. if self.clubInfo then
  781. local playerJson = {
  782. clubId = self.clubInfo.clubId,
  783. viewType = ClubDefine.PlayListType.MATCH_RECORD,
  784. status = tag,
  785. day = self.dayTag,
  786. }
  787. app.club_php:requestPlayerList(playerJson)
  788. end
  789. end
  790. end
  791. end
  792. --当前选中的人禁止同桌列表显示
  793. function ClubPlayerMatch:onPlayerBanList(event)
  794. local view = import("luaScript.Views.Club.ClubPlayerBanList"):new(self.clubInfo.clubId,event.uid,event.banList)
  795. view:setAnchorPoint(cc.p(0.5, 0.5))
  796. app:showWaitDialog(view, 180, false)
  797. end
  798. function ClubPlayerMatch:onReuqestPlayerList()
  799. --请求茶馆成员列表
  800. local playerJson = {
  801. clubId = self.clubInfo.clubId,
  802. viewType = ClubDefine.PlayListType.MATCH_MEMBER,
  803. status = ClubDefine.PlayListType.MATCH_MEMBER,
  804. }
  805. --self.clubInfo.playersMatch = {}
  806. app.club_php:requestPlayerList(playerJson);
  807. end
  808. --当前选中的人禁止同桌列表显示
  809. function ClubPlayerMatch:onPlayerBanList(event)
  810. if event and event.viewType == ClubDefine.PlayListType.MATCH_MEMBER then
  811. local view = import("luaScript.Views.Club.ClubPlayerBanList"):new(self.clubInfo.clubId,event.uid,event.banList)
  812. view:setAnchorPoint(cc.p(0.5, 0.5))
  813. app:showWaitDialog(view, 180, false)
  814. end
  815. end
  816. function ClubPlayerMatch:onGetClubForbidListSuccess(event)
  817. local view = import("luaScript.Views.Club.ClubForbidSameTableList"):new(event.playerID,self.clubInfo.clubId)
  818. view:setAnchorPoint(cc.p(0.5, 0.5))
  819. app:showWaitDialog(view, 180, false);
  820. end
  821. function ClubPlayerMatch:onSetCopartnerFail(event)
  822. local content = event.content
  823. local view = import("luaScript.Views.Club.Match.ClubMatchSetCopartnerFail"):new(content)
  824. view:setAnchorPoint(cc.p(0.5, 0.5))
  825. app:showWaitDialog(view, 180, false);
  826. end
  827. return ClubPlayerMatch