-- 牌友圈成员列表 local GroupNumberInputView = import('.GroupNumberInputView') local GroupMemberFagLogView = import('.GroupMemberFagLogView') local GroupSetPermissionView = import('.GroupSetPermissionView') local GroupBanSameTableView = import('.GroupBanSameTableView') local GroupMemberOperateView = import('.GroupMemberOperateView') local GroupAddMemberInfoView = import('.GroupAddMemberInfoView') local MngPermission = import('.MngPermission') local GroupMngMemberInviteView = {} local M = GroupMngMemberInviteView setmetatable(M, { __index = BaseWindow }) local gid function GroupMngMemberInviteView.new(group_id, blur_view) local self = setmetatable({}, { __index = M }) self.class = 'GroupMngMemberInviteView' self.group_id = group_id self.member_data = {} self:FillView() 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:FillView() BaseWindow.init(self, 'ui://NewGroup/View_GroupMemberInviteAlone') local group = DataManager.groups:get(self.group_id) local perm_array = MngPermission.getPermData(group.permission) self.tex_num = self._view:GetChild('tex_num') self:ClearNumTex() local cnt = self._view.numChildren - 1 for i = 0, 9 do local obj = self._view:GetChild('btn_' .. i) obj.onClick:Add(handler(self, self.OnNumButtonAction)) i = i + 1 end local btn_ok = self._view:GetChild('btn_ok') btn_ok.onClick:Set( function() if not CheckPermission(group.lev, perm_array[2]) then return end if self._texnum_str == '' then return end ViewUtil.ShowModalWait() local fgCtr = ControllerManager.GetController(NewGroupController) fgCtr:GetAddMember( self.group_id, tonumber(self._texnum_str), function(response) printlog("响应获取添加玩家==》》》") pt(response) ViewUtil.CloseModalWait() if (response.ReturnCode and response.ReturnCode == 0) then GroupAddMemberInfoView.new(self.group_id, tonumber(self._texnum_str)):SetAddMember(response.Data) self:ClearNumTex() --ViewUtil.ShowBannerOnScreenCenter('添加成功!', 1) else ViewUtil.ErrorTip(123456, '获取玩家失败') end end ) end ) local btn_del = self._view:GetChild('btn_del') btn_del.onClick:Add(handler(self, self.OnNumButtonAction)) end -- 快速访问 function M:navigation() self._view:GetController('page').selectedIndex = 2 self:initData() end -- 获取成员数据 function M:GetMemberData(index) --print("11111111111111111111") --print(debug.traceback()) local group = DataManager.groups:get(self.group_id) if index == 0 then group:clearMember() end ViewUtil.ShowModalWait(nil) local fgCtr = ControllerManager.GetController(NewGroupController) fgCtr:FG_GroupMembers11( self.group_id, index, 6, false, 1, function(res) ViewUtil.CloseModalWait() if res.ReturnCode ~= 0 then ViewUtil.ErrorTip(res.ReturnCode, '获取成员列表失败') else self.member_data = group.members self.lst_member.numItems = group.member_num if index == 0 then self._view:GetChild('tex_memb_num').text = res.Data.member_num self._view:GetChild('tex_total_hp').text = d2ad(res.Data.hp_num1) end end end ) end -- 修改体力值 local function __change_fag(gid, pid, is_add, cur_hp, callback) local gniv = GroupNumberInputView.new( nil, function(num) num = ad2d((is_add and num or -num)) ViewUtil.ShowModalWait() local fgCtr = ControllerManager.GetController(NewGroupController) fgCtr:FG_ChangeFag( gid, pid, num, function(res1) ViewUtil.CloseModalWait() -- if gniv._is_destroy then -- return -- end if (res1.ReturnCode == 0) then callback(res1.Data) else ViewUtil.ErrorTip(res1.ReturnCode, '更改积分失败!') end end ) -- item:GetChild("tex_fag").text = (self_user or show_fag) and num or show_fag_str end, is_add and 1 or 2, cur_hp and d2ad(cur_hp) or nil ) gniv:Show() end -- 填充成员对象 function M:FillItem(obj, member, refresh) local group = DataManager.groups:get(self.group_id) obj:GetChild('tex_name').text = ViewUtil.stringEllipsis(member.nick) obj:GetChild('btn_head').icon = 'ui://Common/Head0' ImageLoad.Load(member.portrait, obj:GetChild('btn_head')._iconObject, self.class) -- obj.data = member.id -- 显示玩家标签,合伙人、管理员 local ctr_type = obj: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 tex_fag = obj:GetChild('tex_fag') tex_fag.text = d2ad(member.hp) obj:GetChild('tex_id').text = '' .. member.uid --obj:GetChild("tex_cost_count").text = d2ad(member.last_hp_cost) if member.online == 1 then obj:GetChild('tex_last_login').text = '在线' else if member.last_time ~= 0 then obj:GetChild('tex_last_login').text = '最近登录\n' .. os.date('%Y/%m/%d', member.last_time) else obj:GetChild('tex_last_login').text = '加入时间\n' .. os.date('%Y/%m/%d', member.join_time) end end --上级 obj:GetChild('tex_shangjiName').text = member.parentId_nick or "" if member.parentId == 0 then obj:GetChild('tex_shangjiID').text = "" else obj:GetChild('tex_shangjiID').text = member.parentId end local perm_array = MngPermission.getPermData(group.permission) -- 体力值操作按钮事件 if group.lev < 3 or member.parentId == DataManager.SelfUser.account_id then obj:GetController('fag').selectedIndex = 1 else obj:GetController('fag').selectedIndex = 0 end obj:GetChild("btn_tag").title = member.score local fgCtr = ControllerManager.GetController(NewGroupController) local p = group:getMember(member.uid) local mp = group:getMember(DataManager.SelfUser.account_id) obj:GetChild('btn_fag_add').onClick:Set( function() if not CheckPermission(group.lev, perm_array[MngPermissionList.SetFag]) then return end __change_fag( self.group_id, member.uid, true, nil, function(data) local hp = data.hp member.hp = hp if p then p.hp = hp if mp and mp ~= p then local mhp = data.mhp mp.hp = mhp end end self.lst_member.numItems = #self.member_data -- 搜索出的玩家显示 if self._view:GetController('search').selectedIndex == 1 then obj:GetChild('tex_fag').text = d2ad(hp) end end ) end ) obj:GetChild('btn_fag_minus').onClick:Set( function() if not CheckPermission(group.lev, perm_array[MngPermissionList.SetFag]) then return end __change_fag( self.group_id, member.uid, false, member.hp, function(data) local hp = data.hp member.hp = hp if p then p.hp = hp if mp and mp ~= p then local mhp = data.mhp mp.hp = mhp end end self.lst_member.numItems = #self.member_data -- 搜索出的玩家显示 if self._view:GetController('search').selectedIndex == 1 then obj:GetChild('tex_fag').text = d2ad(hp) end end ) end ) obj:GetChild('btn_score_detail').onClick:Set( function() local mflv = GroupMemberFagLogView.new(self.group_id, member) mflv:Show() end ) obj:GetChild('btn_operate').onClick:Set( function() local mflv = GroupMemberOperateView.new( self.group_id, member, function(delete) if delete ~= nil and delete == true then local group = DataManager.groups:get(self.group_id) self.member_data = group.members self.lst_member.numItems = #self.member_data self._view:GetController('search').selectedIndex = 0 else self.lst_member.numItems = self.lst_member.numItems if refresh then self:FillItem(obj, member) end end end ) mflv:Show() end ) obj:GetChild("super_btn").onClick:Set( function() ViewUtil.ShowModalWait(nil) local text = member.uid local qid, qnick if text == "" then ViewUtil.CloseModalWait() ViewUtil.ErrorTip(nil, '输入不能为空') return end qid = tonumber(text) or 0 qnick = tostring(text) local fgCtr = ControllerManager.GetController(NewGroupController) fgCtr:FG_FindMember( self.group_id, qid, function(res) ViewUtil.CloseModalWait() if self._is_destroy then return end if res.ReturnCode ~= 0 then ViewUtil.ErrorTip(res.ReturnCode, '找不到成员') else self._view:GetChild('tex_id').text = '' self._view:GetController('search').selectedIndex = 1 local item_result = self._view:GetChild('lst_member_find') item_result:RemoveChildrenToPool() for j = 1, #res.Data.members do local tem = item_result:AddItemFromPool() self:FillItem(tem, res.Data.members[j], true) end end end, qnick, 1 ) end ) end function M:OnRenderItem(index, obj) local member = self.member_data[index + 1] if member then self:FillItem(obj, member) end end --获取申请列表 function M:GetJoinsData() local group = DataManager.groups:get(self.group_id) if group.joins > 0 then ViewUtil.ShowModalWait() local fgCtr = ControllerManager.GetController(NewGroupController) fgCtr:FG_GroupJoins( self.group_id, function(res) ViewUtil.CloseModalWait() if (res.ReturnCode == 0) then local joins = res.Data.joins group.joins = #joins if #joins == 0 then group.update_joins = true end self:FillJoinList(joins) else ViewUtil.ErrorTip(res.ReturnCode, '获取申请列表失败!') self:FillJoinList({}) end end ) else self:FillJoinList({}) end end --填充申请 function M:FillJoinList(data) local lst_joins = self._view:GetChild('lst_joins') lst_joins:RemoveChildrenToPool() for i = 1, #data do local item = lst_joins:AddItemFromPool() item:GetChild('tex_name').text = ViewUtil.stringEllipsis(data[i].nick) item:GetChild('tex_id').text = data[i].id local btn_head = item:GetChild('btn_head') ImageLoad.Load(data[i].portrait, btn_head._iconObject) item:GetChild('btn_yes').onClick:Set( function() self:VerifyPlayerJoin(data[i].id, true) end ) item:GetChild('btn_no').onClick:Set( function() self:VerifyPlayerJoin(data[i].id, false) end ) end end function M:VerifyPlayerJoin(id, allow) ViewUtil.ShowModalWait() local fgCtr = ControllerManager.GetController(NewGroupController) fgCtr:FG_GroupVerifyJoin( self.group_id, id, allow, function(res) ViewUtil.CloseModalWait() if (res.ReturnCode == 0) then self:GetJoinsData() else ViewUtil.ErrorTip(res.ReturnCode, '操作申请失败') end end ) end function M:OnNumButtonAction(context) local typer = string.sub(context.sender.name, 5) if typer == 'del' then if (self._currenIndex > 0) then self._currenIndex = self._currenIndex - 1 self._texnum_str = string.sub(self._texnum_str, 0, self._currenIndex) self.tex_num.text = self._texnum_str end else if (self._currenIndex < 6) then self._currenIndex = self._currenIndex + 1 self._texnum_str = self._texnum_str .. typer self.tex_num.text = self._texnum_str end end end function M:ClearNumTex() self._texnum_str = '' self._currenIndex = 0 self.tex_num.text = self._texnum_str end return M