local GroupNumberInputView = import(".GroupNumberInputView") local GroupMemberFagLogView = import(".GroupMemberFagLogView") local GroupSetPermissionView = import(".GroupSetPermissionView") local GroupBanSameTableView = import(".GroupBanSameTableView") local MngPermission = import(".MngPermission") local GroupSetTagView = import("../GroupSetTagView") local GroupSetMemberInfoDiaoduView = import('.GroupSetMemberInfoDiaoduView') local GroupPartnerBanPlaysView = import(".GroupPartnerBanPlaysView") local GroupPartnerRewardsView = import(".GroupPartnerRewardsView") -- 牌友圈成员体力值记录 local GroupMemberOperateView = {} local M = GroupMemberOperateView function GroupMemberOperateView.new(group_id, member, callBack, callBack1) setmetatable(M, { __index = BaseWindow }) local self = setmetatable({}, { __index = M }) self.class = "GroupMemberOperateView" self._close_destroy = true -- self._blur_view = blur_view --print("GroupMemberOperateView==============") --pt(member) self.member = member self.group_id = group_id self.callBack = callBack self.callBack1 = callBack1 self:init("ui://NewGroup/Win_PlayerInfo") return self end -- 管理员权限 local MngPermissionList = { DeleteMember = 1, -- 删除成员 AddMember = 2, --添加成员 SetFag = 3, --设置体力值 BanPlaying = 4, --禁止游戏 BanSameTable = 5 --禁止同桌 } local function CheckPermission(lev, permission) if lev == 2 and not permission then ViewUtil.ErrorTip(nil, "您无权操作!如有需要请联系盟主。", 1) return false end return true end function M:init(url) BaseWindow.init(self, url) local member = self.member local group = DataManager.groups:get(self.group_id) --print("DataManager.groups:get(self.group_id)") --pt(group) local perm_array = MngPermission.getPermData(group.permission) local btn_close = self._view:GetChild("btn_close") btn_close.onClick:Set(function() self:Destroy() end) self._view:GetChild("tex_id").text = "ID:" .. member.uid self._view:GetChild("tex_name").text = ViewUtil.stringEllipsis(member.nick) self._view:GetChild("btn_head").icon = "ui://Common/Head0" ImageLoad.Load(member.portrait, self._view:GetChild("btn_head")._iconObject, self.class) -- obj.data = member.id -- 显示玩家标签,合伙人、管理员 local ctr_type = self._view:GetController("type") if member.lev < 3 then ctr_type.selectedIndex = member.lev elseif member.partnerLev ~= 0 then ctr_type.selectedIndex = 3 else ctr_type.selectedIndex = 0 end local ctr_superior = self._view:GetController("show_superior") if member.superior then ctr_superior.selectedIndex = 2 if #member.superior > 0 then local lst_superior = self._view:GetChild("lst_superior") lst_superior:RemoveChildrenToPool() for i = 1, #member.superior do local item = lst_superior:AddItemFromPool() item:GetChild("tex_id").text = member.superior[i] -- item:GetChild("tex_num").text = tostring(#member.superior - i + 1) .. "级" end end elseif member.parentId ~= 0 then self._view:GetChild("tex_superior_id").text = member.parentId if group.owner == member.parentId or member.uid == DataManager.SelfUser.account_id then ctr_superior.selectedIndex = 0 else ctr_superior.selectedIndex = 1 end elseif member.lev == 3 then self._view:GetChild("tex_superior_id").text = "" ctr_superior.selectedIndex = 3 else ctr_superior.selectedIndex = 0 self._view:GetChild("tex_superior_id").text = "" end local fgCtr = ControllerManager.GetController(NewGroupController) self._view:GetChild("btn_deploy").onClick:Set(function() local gniv = GroupNumberInputView.new(nil, function(num) ViewUtil.ShowModalWait() local parent_id = tonumber(num) fgCtr:FG_FindMember(self.group_id, parent_id, function(res) if self._is_destroy then return end if res.ReturnCode ~= 0 then ViewUtil.CloseModalWait() ViewUtil.ErrorTip(res.ReturnCode, "找不到成员") elseif res.Data.partnerLev == 0 then ViewUtil.CloseModalWait() ViewUtil.ErrorTip(res.ReturnCode, "目标不是合伙人") else fgCtr:FG_DeployMember(self.group_id, member.uid, parent_id, function(res1) ViewUtil.CloseModalWait() if (res1.ReturnCode == 0) then member.parentId = parent_id self._view:GetChild("tex_superior_id").text = parent_id ctr_superior.selectedIndex = 1 ViewUtil.ShowBannerOnScreenCenter("调配玩家成功") else ViewUtil.ErrorTip(res1.ReturnCode, "调配玩家失败") end end) end end) end, 0, nil, "ui://NewGroup/Win_AddFriend") gniv:Show() end) local vipbtn = self._view:GetChild("btn_vip") if vipbtn ~= nil then if (group.lev < member.lev) or (group.lev == 3 and group.partnerLev > 0 and member.uid ~= DataManager.SelfUser.account_id) or (group.lev < 3 and member.uid == DataManager.SelfUser.account_id) then vipbtn.visible = true vipbtn.selected = member.isvip == 1 and true or false vipbtn.onClick:Set(function() local selected = vipbtn.selected and 1 or 0 fgCtr:FG_GroupSetVip(self.group_id, member.uid, selected, function(res1) if self._is_destroy then return end ViewUtil.CloseModalWait() if res1.ReturnCode == 0 then member.isvip = selected self.callBack() else vipbtn.selected = not vipbtn.selected ViewUtil.ErrorTip(res1.ReturnCode, "设置vip失败") end end) end) else vipbtn.visible = false end end -- 管理功能列表 local lst_mng = self._view:GetChild("lst_mng") lst_mng:RemoveChildrenToPool() -- 删除按钮 local option = group.option or 0 if (group.partnerLev > 0 and member.uid ~= DataManager.SelfUser.account_id and bit:_and(option, 1) == 1) or group.lev < member.lev then local btn_del = lst_mng:AddItemFromPool() btn_del.icon = "ui://NewGroup/mng_del" btn_del.onClick:Set(function() if not CheckPermission(group.lev, perm_array[MngPermissionList.DeleteMember]) then return end local _curren_msg = MsgWindow.new(nil, "确定删除该成员吗?", MsgWindow.MsgMode.OkAndCancel) _curren_msg.onOk:Add(function() ViewUtil.ShowModalWait() fgCtr:FG_GroupRemoveMember(self.group_id, member.uid, function(res1) if self._is_destroy then return end ViewUtil.CloseModalWait() if res1.ReturnCode == 0 then self.callBack(true) ViewUtil.ShowBannerOnScreenCenter("已成功删除玩家") self:Destroy() else ViewUtil.ErrorTip(res1.ReturnCode, "删除成员失败") end end) end) _curren_msg:Show() end) end -- 禁止游戏 -- if (group.lev < member.lev) or (group.lev == 3 and group.partnerLev > 0 and member.uid ~= DataManager.SelfUser.account_id) then --if group.lev == 1 and member.lev > 1 and member.partnerLev >0 and member.uid ~= DataManager.SelfUser.account_id then local btn_ban = lst_mng:AddItemFromPool() local pic = member.ban == 1 and "mng_del_ban" or "mng_ban" btn_ban.icon = "ui://NewGroup/" .. pic btn_ban.onClick:Set(function() if not CheckPermission(group.lev, perm_array[MngPermissionList.BanPlaying]) then return end local str = member.ban == 1 and "确定恢复娱乐吗?" or "确定禁止娱乐吗?" local _curren_msg = MsgWindow.new(nil, str, MsgWindow.MsgMode.OkAndCancel) _curren_msg.onOk:Add(function() ViewUtil.ShowModalWait() local val = 1 - member.ban fgCtr:FG_BanMember(self.group_id, member.uid, val, 1, function(res1) if self._is_destroy then return end ViewUtil.CloseModalWait() if res1.ReturnCode == 0 then member.ban = val pic = member.ban == 1 and "mng_del_ban" or "mng_ban" btn_ban.icon = "ui://NewGroup/" .. pic self.callBack() else ViewUtil.ErrorTip(res1.ReturnCode, "禁止娱乐失败!") end end) end) _curren_msg:Show() end) end --print("group.type=====================") --print(group.type) --pt(group) if member.partnerLev > 0 and group.type == 2 and member.uid ~= DataManager.SelfUser.account_id then local btn_ban = lst_mng:AddItemFromPool() local pic = member.group_ban == 1 and "mng_del_ban_group" or "mng_ban_group" btn_ban.icon = "ui://NewGroup/" .. pic --printlog("jefe member.partnerLev",member.partnerLev) --if member.partnerLev==1 then btn_ban.onClick:Set(function() -- if not CheckPermission(group.lev, perm_array[MngPermissionList.BanPlaying]) then -- return -- end local str = member.group_ban == 1 and "确定恢复该合伙人整组娱乐吗?" or "确定禁止该合伙人整组娱乐吗?" local _curren_msg = MsgWindow.new(nil, str, MsgWindow.MsgMode.OkAndCancel) _curren_msg.onOk:Add(function() ViewUtil.ShowModalWait() local val = member.group_ban == 1 and 0 or 1 fgCtr:FG_BanMember(self.group_id, member.uid, val, 2, function(res1) if self._is_destroy then return end ViewUtil.CloseModalWait() if res1.ReturnCode == 0 then member.group_ban = val pic = member.group_ban == 1 and "mng_del_ban_group" or "mng_ban_group" btn_ban.icon = "ui://NewGroup/" .. pic self.callBack() else ViewUtil.ErrorTip(res1.ReturnCode, val == 1 and "禁止整组娱乐失败!" or "恢复整组娱乐失败!") end end) end) _curren_msg:Show() end) -- end end -- 禁止同桌 -- if group.lev < 3 then -- local btn_ban_table = lst_mng:AddItemFromPool() -- btn_ban_table.icon = "ui://NewGroup/mng_ban_table" -- btn_ban_table.onClick:Set(function() -- if not CheckPermission(group.lev, perm_array[MngPermissionList.BanSameTable]) then -- return -- end -- ViewUtil.ShowModalWait() -- fgCtr:FG_GetBanTable(self.group_id, member.uid, function(res) -- ViewUtil.CloseModalWait() -- if res.ReturnCode == 0 then -- local btv = GroupBanSameTableView.new(self.blur_view, self.group_id, member.uid, res.Data) -- btv:Show() -- else -- ViewUtil.ErrorTip(res.ReturnCode,"获取禁止同桌列表失败!") -- end -- end) -- end) -- end -- 合伙人设置 临时从禁止同桌修改 if true then local btn_ban_table = lst_mng:AddItemFromPool() btn_ban_table.icon = "ui://NewGroup/mng_ban_table" btn_ban_table.onClick:Set(function() local prv = GroupPartnerRewardsView.new(self.group_id, member.uid, member.partnerLev) prv:Show() end) end if group.lev == 1 and member.lev > 1 and member.partnerLev > 0 and member.uid ~= DataManager.SelfUser.account_id then --if false then local btn_set_mng = lst_mng:AddItemFromPool() btn_set_mng.icon = "ui://NewGroup/zhengzu" btn_set_mng.onClick:Set( function() ViewUtil.ShowModalWait() fgCtr:FG_GetBanMemberHB(self.group_id, member.uid, function(res) ViewUtil.CloseModalWait() --pt(res) if res.ReturnCode == 0 then local diaoduView = GroupSetMemberInfoDiaoduView.new(self.group_id, member.uid) diaoduView:SetCurrentState(res.Data.group_black + 1, res.Data) else ViewUtil.ErrorTip(res.ReturnCode, "获取整组调度失败!") end end) end) end -- 设置管理员 if group.lev == 1 and member.lev > 1 and member.partnerLev >= 0 then local btn_set_mng = lst_mng:AddItemFromPool() local pic = member.lev == 2 and "mng_del_mng" or "mng_set_mng" btn_set_mng.icon = "ui://NewGroup/" .. pic btn_set_mng.onClick:Set(function() local str = member.lev == 3 and "确定设置玩家为副盟主吗?" or "确定取消玩家副盟主身份吗?" local _curren_msg = MsgWindow.new(nil, str, MsgWindow.MsgMode.OkAndCancel) _curren_msg.onOk:Add(function() ViewUtil.ShowModalWait() local val = 4 - member.lev fgCtr:FG_SetManager(self.group_id, member.uid, val, function(res1) if self._is_destroy then return end ViewUtil.CloseModalWait() if res1.ReturnCode == 0 then member.lev = val + 1 self.callBack() if val == 1 then ctr_superior.selectedIndex = 0 else ctr_superior.selectedIndex = 3 end self:Destroy() else ViewUtil.ErrorTip(res1.ReturnCode, "设置副群主失败!") end end) end) _curren_msg:Show() end) end if ((group.lev < 3 and member.parentId == 0) or (group.type == 2 and member.parentId == DataManager.SelfUser.account_id)) and member.partnerLev == 0 and member.lev == 3 then local btn_set_partner = lst_mng:AddItemFromPool() local pic = member.partnerLev == 0 and "mng_set_partner" or "mng_del_partner" btn_set_partner.icon = "ui://NewGroup/" .. pic btn_set_partner.onClick:Set(function() local str = member.partnerLev == 0 and "确定设置玩家为合伙人吗?" or "确定取消玩家合伙人身份吗?" local _curren_msg = MsgWindow.new(nil, str, MsgWindow.MsgMode.OkAndCancel) _curren_msg.onOk:Add(function() ViewUtil.ShowModalWait() local val = member.partnerLev > 0 and 2 or 1 fgCtr:FG_SetPartner(self.group_id, member.uid, val, function(res1) if self._is_destroy then return end ViewUtil.CloseModalWait() if res1.ReturnCode == 0 then member.parentId = res1.Data.parentId member.partnerLev = res1.Data.partnerLev self.callBack() ctr_superior.selectedIndex = 1 self:Destroy() else ViewUtil.ErrorTip(res1.ReturnCode, "设置合伙人失败失败!") end end) end) _curren_msg:Show() end) end if ((group.lev < 3 and member.parentId == 0) or (group.type == 2 and member.parentId == DataManager.SelfUser.account_id)) and member.partnerLev == 0 and member.lev == 2 then local btn_set_permission = lst_mng:AddItemFromPool() btn_set_permission.icon = "ui://NewGroup/mng_set_permission" btn_set_permission.onClick:Set(function() local gspv = GroupSetPermissionView.new(self.blur_view, self.group_id, member) gspv:Show() end) end local btn_fag_info = lst_mng:AddItemFromPool() btn_fag_info.icon = "ui://NewGroup/mng_fag" btn_fag_info.onClick:Set(function() local mflv = GroupMemberFagLogView.new(self.group_id, member) mflv:Show() end) if group.lev == 1 and member.partnerLev > 0 and group.type == 2 then local btn_move = lst_mng:AddItemFromPool() btn_move.icon = "ui://NewGroup/mng_move" btn_move.onClick:Set(function() local gniv = GroupNumberInputView.new(nil, function(num) local parent_id = tonumber(num) if parent_id == member.parentId then ViewUtil.ErrorTip(nil, "已经在该合伙人名下") return elseif parent_id == member.id then ViewUtil.ErrorTip(nil, "目标的上级不能是自己") return elseif parent_id == DataManager.SelfUser.account_id then self:MovePartner(parent_id, member, self._view) return end ViewUtil.ShowModalWait() local fgCtr = ControllerManager.GetController(NewGroupController) fgCtr:FG_FindMember(self.group_id, parent_id, function(res) if self._is_destroy then return end if res.ReturnCode ~= 0 then ViewUtil.CloseModalWait() ViewUtil.ErrorTip(res.ReturnCode, "找不到成员") elseif res.Data.partnerLev == 0 then ViewUtil.CloseModalWait() ViewUtil.ErrorTip(res.ReturnCode, "目标不是合伙人") else self:MovePartner(parent_id, member, self._view) end end) end, 0, nil, "ui://NewGroup/Win_AddFriend") gniv:Show() end) end if member.parentId == DataManager.SelfUser.account_id then local btn_set_tag = lst_mng:AddItemFromPool() btn_set_tag.icon = "ui://NewGroup/mng_set_tag" btn_set_tag.onClick:Set(function() local stv = GroupSetTagView.new(self.group_id, member, function(refresh) if refresh then self.callBack() end end) stv:Show() end) end if group.lev == 1 then local btn_banplays = lst_mng:AddItemFromPool() btn_banplays.icon = "ui://NewGroup/mng_ban_plays" btn_banplays.onClick:Set(function() local banplays = GroupPartnerBanPlaysView.new(self.group_id, member.uid) banplays:Show() end) end if group.lev == 1 then local btn_qiangzhi = lst_mng:AddItemFromPool() btn_qiangzhi.icon = "ui://NewGroup/mng_qiangzhi" btn_qiangzhi.onClick:Set(function() local msg_tip = MsgWindow.new(self._root_view, "确定全部提取吗?", MsgWindow.MsgMode.OnlyOk) msg_tip.onOk:Add(function(...) ViewUtil.ShowModalWait() fgCtr:FG_TakeHp1(self.group_id, member.uid, function(res) ViewUtil.CloseModalWait() if self._is_destroy then return end if res.ReturnCode ~= 0 then ViewUtil.ErrorTip(res.ReturnCode, "提取失败") else ViewUtil.ErrorTip(res.ReturnCode, "提取成功") self:Destroy() if self.callBack1 then self.callBack1() end end end) msg_tip:Close() end) msg_tip:Show() end) end end function M:MovePartner(parent_id, member, obj) local fgCtr = ControllerManager.GetController(NewGroupController) fgCtr:FG_MovePartner(self.group_id, member.uid, parent_id, function(res1) ViewUtil.CloseModalWait() if (res1.ReturnCode == 0) then member.parentId = parent_id member.partnerLev = res1.Data.partnerLev obj:GetChild("tex_superior_id").text = parent_id obj:GetController("show_superior").selectedIndex = 1 ViewUtil.ShowBannerOnScreenCenter("转移成功") else ViewUtil.ErrorTip(res1.ReturnCode, "转移失败") end end) end return M