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.

453 lines
16 KiB

  1. -- 成员列表操作按钮Layout
  2. local ClubPlayerMatchOperatMenu = class("ClubPlayerMatchOperatMenu" , cc.UIView);
  3. local ClubDefine = require("luaScript.Protocol.Club.ClubDefine")
  4. --按钮对应编号
  5. -- 1 : 设置管理员
  6. -- 2 : 取消管理员
  7. -- 3 : 拉入黑名单
  8. -- 4 : 取消黑名单
  9. -- 5 : 删除成员
  10. -- 6 : 转让茶馆
  11. -- 7 : 禁止玩家同桌
  12. -- 8 : 设置合伙人
  13. -- 9 : 取消合伙人
  14. -- 10 :下属成员
  15. -- 11 :取消一级合伙人
  16. -- 12 :设置一级合伙人
  17. -- 13 :设置分成比例
  18. -- 14 :冻结下属成员
  19. -- 15 :取消2级合伙人
  20. -- 16 :设置2级合伙人
  21. -- 17 :下属记录
  22. -- 18 :解冻下属成员
  23. -- 19 : 调给创始人
  24. -- callback : 点击按钮之后的回调
  25. function ClubPlayerMatchOperatMenu:ctor(player,clubId,tagType,lastOpId,callback)
  26. ClubPlayerMatchOperatMenu.super.ctor(self)
  27. local ui = loadUI("res/ui/ui_club/ui_club_player_match_operat_menu.ui")
  28. self.ui = ui;
  29. self:addChild(ui);
  30. --茶馆群id
  31. self.clubId = clubId
  32. self.clubInfo = app.club_php.clubList[clubId]
  33. self.player = player
  34. self.operatorId = app.user.loginInfo.uid
  35. self.lastOpId = lastOpId
  36. self.tagType = tagType
  37. self.callback = callback
  38. --修改名字
  39. if self.ui.Items.Text_6 then
  40. self.ui.Items.Text_6:setText("转让"..(app.club_php:getCestIsOpen(app.club_php.clubID) and PLN.CLUB_CEST_NAME or PLN.CLUB_NAME))
  41. end
  42. self.btnNums = self.ui.Items.Layout_btn_menu:getChildrenCount()
  43. --权限发生改变
  44. self:bindEvent(app.club_php , GAME_EVENT.CLUB_CHANGE_ROLE , handler(self , self.onChangeRole));
  45. end
  46. -- 角色权限修改
  47. function ClubPlayerMatchOperatMenu:onChangeRole()
  48. self:removeFromParent()
  49. end
  50. function ClubPlayerMatchOperatMenu:onEnter()
  51. ClubPlayerMatchOperatMenu.super.onEnter(self)
  52. -- 注册点击事件
  53. for i =1,self.btnNums do
  54. local name = string.format("Layout_Btn_%d",i)
  55. local node = self.ui.Items[name]
  56. if node then
  57. node:registerClick(function()
  58. self:onClickButton(i)
  59. end)
  60. end
  61. end
  62. -- 将需要显示的按钮索引标为 true
  63. local tt = {}
  64. local menus = self:getMenus()
  65. for k,idx in pairs(menus) do
  66. tt[idx] = true
  67. end
  68. -- 隐藏不相关的按钮
  69. for i = 1,self.btnNums do
  70. local name = string.format("Layout_Btn_%d", i)
  71. local node = self.ui.Items[name]
  72. if node then
  73. -- 标记为true的显示
  74. -- 否则不显示
  75. if tt[i] then
  76. node:setVisible(true)
  77. else
  78. node:setVisible(false)
  79. end
  80. end
  81. end
  82. -- 重新布局
  83. self.ui.Items.Layout_btn_menu:requestDoLayout()
  84. self.ui.Items.Layout_btn_menu:doLayout()
  85. -- 重新布局
  86. self.ui.Items.Layout:requestDoLayout()
  87. self.ui.Items.Layout:doLayout()
  88. end
  89. function ClubPlayerMatchOperatMenu:getMenus()
  90. -- 1 : 设置管理员
  91. -- 2 : 取消管理员
  92. -- 3 : 拉入黑名单
  93. -- 4 : 恢复游戏
  94. -- 5 : 删除成员
  95. -- 6 : 转让茶馆
  96. -- 7 : 禁止玩家同桌
  97. -- 8 : 设置合伙人
  98. -- 9 : 取消合伙人
  99. -- 10 :下属成员
  100. -- 11 :取消一级合伙人
  101. -- 12 :设置一级合伙人
  102. -- 13 :设置分成比例
  103. -- 14 :冻结下属成员
  104. -- 15 :取消2级合伙人
  105. -- 16 :设置2级合伙人
  106. -- 17 :下属记录
  107. -- 18 :解冻下属成员
  108. -- 19 : 调给创始人
  109. local menus = {}
  110. --如果是记录,则只给权限是查看
  111. if self.tagType == ClubDefine.PlayListType.MATCH_RECORD then
  112. table.insert(menus,17)
  113. return menus
  114. elseif self.tagType == ClubDefine.PlayListType.MATCH_LV_1_COPARTNER_MEMBER then
  115. --如果是创始人或者管理员看一级的普通成员
  116. if self.player.role == ClubDefine.Job.Member and (self.clubInfo.role == ClubDefine.Job.Manager
  117. or self.clubInfo.role == ClubDefine.Job.Creator) then
  118. if self.clubInfo.role == ClubDefine.Job.Creator then
  119. table.insert(menus,19)
  120. table.insert(menus,5)
  121. end
  122. table.insert(menus,7)
  123. --如果是创始人或者管理员看1级合伙人
  124. elseif self.player.role == ClubDefine.Job.LevelOneCopartner and (self.clubInfo.role == ClubDefine.Job.Manager
  125. or self.clubInfo.role == ClubDefine.Job.Creator) then
  126. table.insert(menus,7)
  127. --如果是创始人或者管理员看二级合伙人
  128. elseif self.player.role == ClubDefine.Job.LevelTwoCopartner and (self.clubInfo.role == ClubDefine.Job.Manager
  129. or self.clubInfo.role == ClubDefine.Job.Creator) then
  130. table.insert(menus,10)
  131. if self.clubInfo.role == ClubDefine.Job.Creator then
  132. table.insert(menus,5)
  133. end
  134. end
  135. if self.player.role ~= ClubDefine.Job.LevelTwoCopartner then
  136. if self.player.status == 0 then --黑名单
  137. table.insert(menus,4)
  138. else
  139. table.insert(menus,3)
  140. end
  141. end
  142. return menus
  143. elseif self.tagType == ClubDefine.PlayListType.MATCH_LV_2_COPARTNER_MEMBER then
  144. if self.player.role == ClubDefine.Job.Member and (self.clubInfo.role == ClubDefine.Job.Creator)then
  145. table.insert(menus,19)
  146. if self.clubInfo.role == ClubDefine.Job.Creator then
  147. table.insert(menus,5)
  148. end
  149. end
  150. table.insert(menus,7)
  151. if self.player.status == 0 then --黑名单
  152. table.insert(menus,4)
  153. else
  154. table.insert(menus,3)
  155. end
  156. return menus
  157. end
  158. --如果是创始人看管理员
  159. if self.player.role == ClubDefine.Job.Manager and self.clubInfo.role == ClubDefine.Job.Creator then
  160. table.insert(menus,2)
  161. table.insert(menus,5)
  162. --table.insert(menus,7)
  163. --如果是创始人或者管理员看成员
  164. elseif self.player.role == ClubDefine.Job.Member and (self.clubInfo.role == ClubDefine.Job.Manager or self.clubInfo.role == ClubDefine.Job.Creator) then
  165. --创始人看成员可以设置管理员,设置一级合伙人
  166. if self.clubInfo.role==ClubDefine.Job.Creator then
  167. table.insert(menus,1)
  168. table.insert(menus,12)
  169. end
  170. table.insert(menus,5)
  171. table.insert(menus,7)
  172. --如果是创始人或者管理员看合伙人
  173. elseif self.player.role == ClubDefine.Job.Copartner and (self.clubInfo.role == ClubDefine.Job.Manager or self.clubInfo.role == ClubDefine.Job.Creator) then
  174. table.insert(menus,7)
  175. --如果是创始人看一级合伙人
  176. elseif self.player.role == ClubDefine.Job.LevelOneCopartner and self.clubInfo.role == ClubDefine.Job.Creator then
  177. table.insert(menus,10)
  178. table.insert(menus,11)
  179. table.insert(menus,13)
  180. if self.player.copartnerSubStatus == 0 then --黑名单
  181. table.insert(menus,18)
  182. elseif self.player.copartnerSubStatus == 1 then
  183. table.insert(menus,14)
  184. end
  185. --如果是管理员看一级合伙人
  186. elseif self.player.role == ClubDefine.Job.LevelOneCopartner and self.clubInfo.role == ClubDefine.Job.Manager then
  187. table.insert(menus,10)
  188. --如果是一级合伙人看自己的下属
  189. elseif self.player.role == ClubDefine.Job.Member and self.clubInfo.role == ClubDefine.Job.LevelOneCopartner then
  190. table.insert(menus,5)
  191. table.insert(menus,16)
  192. --如果是一级合伙人看二级合伙人
  193. elseif self.player.role == ClubDefine.Job.LevelTwoCopartner and self.clubInfo.role == ClubDefine.Job.LevelOneCopartner then
  194. table.insert(menus,15)
  195. table.insert(menus,10)
  196. table.insert(menus,13)
  197. if self.player.copartnerSubStatus == 0 then --黑名单
  198. table.insert(menus,18)
  199. elseif self.player.copartnerSubStatus == 1 then
  200. table.insert(menus,14)
  201. end
  202. --如果是二级合伙人看自己的下属
  203. elseif self.player.role == ClubDefine.Job.Member and self.clubInfo.role == ClubDefine.Job.LevelTwoCopartner then
  204. table.insert(menus,5)
  205. end
  206. if self.player.role ~= ClubDefine.Job.LevelTwoCopartner and self.player.role ~= ClubDefine.Job.LevelOneCopartner then
  207. if self.player.status == 0 then --黑名单
  208. table.insert(menus,4)
  209. else
  210. if self.player.role ~= ClubDefine.Job.Copartner then
  211. table.insert(menus,3)
  212. end
  213. end
  214. end
  215. return menus
  216. end
  217. --设置管理员
  218. function ClubPlayerMatchOperatMenu:onClickButton(idx)
  219. playBtnEffect()
  220. -- 1 : 设置管理员
  221. -- 2 : 取消管理员
  222. -- 3 : 拉入黑名单
  223. -- 4 : 取消黑名单
  224. -- 5 : 删除成员
  225. -- 6 : 转让茶馆
  226. -- 7 : 禁止玩家同桌
  227. -- 8 : 设置合伙人
  228. -- 9 : 取消合伙人
  229. -- 10 :下属成员
  230. -- 11 :取消一级合伙人
  231. -- 12 :设置一级合伙人
  232. -- 13 :设置分成比例
  233. -- 14 :冻结下属成员
  234. -- 15 :取消2级合伙人
  235. -- 16 :设置2级合伙人
  236. -- 17 :下属记录
  237. -- 18 :解冻下属成员
  238. -- 19 : 调给创始人
  239. if idx == 1 then
  240. local content = "是否将玩家【%s】设置为管理员?";
  241. --确认回调
  242. local function okCallback()
  243. app.club_php:requestSetClubPlayer(self.clubId,self.operatorId, self.player.uid,1,nil,nil,self.tagType)
  244. end
  245. self:showPlayerTips(idx, content, self.player, okCallback, nil);
  246. elseif idx == 2 then
  247. local content = "是否取消玩家【%s】的管理员?";
  248. --确认回调
  249. local function okCallback()
  250. app.club_php:requestSetClubPlayer(self.clubId, self.operatorId, self.player.uid, 2,nil,nil,self.tagType)
  251. end
  252. self:showPlayerTips(idx, content, self.player, okCallback, nil);
  253. elseif idx == 3 then
  254. local content = "是否将玩家【%s】暂停游戏?"
  255. --确认回调
  256. local function okCallback()
  257. local function callback()
  258. --[[if self.tagType == ClubDefine.PlayListType.MATCH_LV_1_COPARTNER_MEMBER or self.tagType == ClubDefine.PlayListType.MATCH_LV_2_COPARTNER_MEMBER then
  259. app.club_php:dispatchEvent({name = GAME_EVENT.CLUB_NOTICE_LV1_2UPDATE})
  260. end--]]
  261. end
  262. app.club_php:requestSetClubPlayer(self.clubId, self.operatorId, self.player.uid, 3,nil,callback,self.tagType)
  263. end
  264. self:showPlayerTips(idx, content, self.player, okCallback, nil);
  265. elseif idx == 4 then
  266. local content = "是否将玩家【%s】恢复游戏?"
  267. --确认回调
  268. local function okCallback()
  269. local function callback()
  270. --[[if self.tagType == ClubDefine.PlayListType.MATCH_LV_1_COPARTNER_MEMBER or self.tagType == ClubDefine.PlayListType.MATCH_LV_2_COPARTNER_MEMBER then
  271. app.club_php:dispatchEvent({name = GAME_EVENT.CLUB_NOTICE_LV1_2UPDATE})
  272. end--]]
  273. end
  274. app.club_php:requestSetClubPlayer(self.clubId,self.operatorId, self.player.uid, 4,nil,callback,self.tagType)
  275. end
  276. self:showPlayerTips(idx, content, self.player, okCallback, nil);
  277. elseif idx == 5 then
  278. local content = "是否将玩家【%s】踢出"..(app.club_php:getCestIsOpen(app.club_php.clubID) and PLN.CLUB_CEST_NAME or PLN.CLUB_NAME).."?"
  279. --确认回调
  280. local function okCallback()
  281. app.club_php:requestRemovePlayer(self.clubId, self.player.uid,self.tagType);
  282. end
  283. self:showPlayerTips(idx, content, self.player, okCallback, nil);
  284. elseif idx == 6 then
  285. local content = app.club_php:getCestIsOpen(app.club_php.clubID) and PLN.CLUB_CEST_TRANSFER or PLN.CLUB_TRANSFER
  286. --确认回调
  287. local function okCallback()
  288. app.club_php:requestTransfer(self.clubId, self.player.uid,self.tagType)
  289. end
  290. self:showPlayerTips(idx, content, self.player, okCallback, nil);
  291. elseif idx == 7 then
  292. app.club_php:requestBanList(self.clubId, self.player.uid,self.tagType);
  293. elseif idx == 8 then
  294. -- 设为合伙人
  295. local function okCallback()
  296. local view = import("luaScript.Views.Club.HeHuoRen.ClubHeHuoRenSetMember"):new(self.clubInfo, self.player.uid)
  297. view:setAnchorPoint(cc.p(0.5, 0.5))
  298. app:showWaitDialog(view)
  299. end
  300. if self.player.role == 2 then
  301. local content = "管理员被设置为合伙人后将取消管理员权限!"
  302. self:showPlayerTips(idx, content, self.player, okCallback, nil)
  303. else
  304. okCallback()
  305. end
  306. elseif idx == 9 then
  307. -- 取消合伙人
  308. local view = import("luaScript.Views.Club.HeHuoRen.ClubHeHuoRenCancel"):new(self.clubInfo, self.player.uid)
  309. view:setAnchorPoint(cc.p(0.5, 0.5))
  310. app:showWaitDialog(view)
  311. elseif idx == 10 then
  312. -- 下属成员
  313. if self.callback then
  314. self.callback()
  315. end
  316. local view = import("luaScript.Views.Club.ClubPlayerMatchHeHuoRen"):new(self.clubId, self.player,self.lastOpId)
  317. view:setAnchorPoint(cc.p(0.5, 0.5))
  318. app:showWaitDialog(view)
  319. elseif idx == 11 then
  320. -- 取消一级合伙人
  321. local content = "是否将玩家【%s】取消一级合伙人?"
  322. --确认回调
  323. local function okCallback()
  324. app.club_php:requestSetClubPlayer(self.clubId, self.operatorId, self.player.uid, 9,nil,nil,self.tagType)
  325. end
  326. local notice = {
  327. "注:1.取消合伙人权限需合伙人确认;",
  328. " 2.合伙人名下红花数为0时才能取消权限成功。",
  329. }
  330. self:showPlayerTips(idx, content, self.player, okCallback, nil,notice);
  331. elseif idx == 12 then
  332. --确认回调
  333. local function okCallback(nPercent)
  334. app.club_php:requestSetClubPlayer(self.clubId, self.operatorId, self.player.uid, 10,nPercent,nil,self.tagType)
  335. end
  336. local view = import("luaScript.Views.Club.ClubPlayerSetHeHuoRen"):new(idx,self.player,self.clubId, okCallback)
  337. view:setAnchorPoint(cc.p(0.5, 0.5))
  338. app:showWaitDialog(view)
  339. elseif idx == 13 then
  340. --确认回调
  341. local function okCallback(nPercent)
  342. app.club_php:requestSetClubPlayer(self.clubId, self.operatorId, self.player.uid, 11,nPercent,nil,self.tagType)
  343. end
  344. local view = import("luaScript.Views.Club.ClubPlayerSetPercent"):new(self.player,self.clubId, okCallback)
  345. view:setAnchorPoint(cc.p(0.5, 0.5))
  346. app:showWaitDialog(view)
  347. elseif idx == 14 then
  348. local content = "是否冻结该合伙人及其名下所有下属成员玩牌权限?"
  349. --确认回调
  350. local function okCallback()
  351. app.club_php:requestSetClubPlayer(self.clubId, self.operatorId, self.player.uid, 12,nil,nil,self.tagType)
  352. end
  353. local notice = {
  354. "注:冻结后,该合伙人及其名下成员将无法进行继续玩牌。",
  355. }
  356. self:showPlayerTips(idx, content, self.player, okCallback, nil,notice);
  357. elseif idx == 15 then
  358. -- 取消2级合伙人
  359. local content = "是否将玩家【%s】取消二级合伙人?"
  360. --确认回调
  361. local function okCallback()
  362. app.club_php:requestSetClubPlayer(self.clubId, self.operatorId, self.player.uid, 9,nil,nil,self.tagType)
  363. end
  364. local notice = {
  365. "注:1.取消合伙人权限需合伙人确认;",
  366. " 2.合伙人名下红花数为0时才能取消权限成功。",
  367. }
  368. self:showPlayerTips(idx, content, self.player, okCallback, nil,notice);
  369. elseif idx == 16 then
  370. --确认回调
  371. local function okCallback(nPercent)
  372. app.club_php:requestSetClubPlayer(self.clubId, self.operatorId, self.player.uid, 10,nPercent,nil,self.tagType)
  373. end
  374. local view = import("luaScript.Views.Club.ClubPlayerSetHeHuoRen"):new(idx,self.player,self.clubId, okCallback)
  375. view:setAnchorPoint(cc.p(0.5, 0.5))
  376. app:showWaitDialog(view)
  377. elseif idx == 17 then
  378. -- 下属记录
  379. if self.callback then
  380. self.callback()
  381. end
  382. local view = import("luaScript.Views.Club.ClubPlayerMatchHeHuoRenRecord"):new(self.clubId, self.player,self.lastOpId)
  383. view:setAnchorPoint(cc.p(0.5, 0.5))
  384. app:showWaitDialog(view)
  385. elseif idx == 18 then
  386. local content = "是否解冻该合伙人及其名下所有下属成员玩牌权限?"
  387. --确认回调
  388. local function okCallback()
  389. app.club_php:requestSetClubPlayer(self.clubId, self.operatorId, self.player.uid, 13,nil,nil,self.tagType)
  390. end
  391. self:showPlayerTips(idx, content, self.player, okCallback, nil);
  392. elseif idx == 19 then
  393. local content = "是否将玩家【%s】调给创始人?"
  394. --确认回调
  395. local function okCallback()
  396. app.club_php:requestAdjustCopartnerMember(self.clubId, self.operatorId, self.player.uid,self.tagType,nil,0,self.lastOpId)
  397. end
  398. local notice = {
  399. "注:调配后,可能会造成该成员无法正常增减红花哦!",
  400. "请谨慎操作!!",
  401. }
  402. self:showPlayerTips(21, content, self.player, okCallback, nil,notice);
  403. end
  404. self:removeFromParent()
  405. end
  406. function ClubPlayerMatchOperatMenu:showPlayerTips(idx, content, playerInfo, okCallback, cancelCallback,notice)
  407. local view = import("luaScript.Views.Club.ClubPlayerTips"):new(idx, content, playerInfo, okCallback, cancelCallback,notice)
  408. view:setAnchorPoint(cc.p(0.5, 0.5))
  409. app:showWaitDialog(view)
  410. end
  411. return ClubPlayerMatchOperatMenu