466 lines
15 KiB
Lua
466 lines
15 KiB
Lua
-- 牌友圈成员列表
|
|
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
|
|
|
|
local gid
|
|
function GroupMngMemberInviteView.new(group_id, blur_view)
|
|
local self = M
|
|
self.class = 'GroupMngMemberInviteView'
|
|
self.group_id = group_id
|
|
self.member_data = {}
|
|
self:FillView()
|
|
return self
|
|
end
|
|
|
|
function M:initData()
|
|
-- if self._view:GetController('page').selectedIndex == 0 then
|
|
-- self:GetMemberData(0)
|
|
-- elseif self._view:GetController('page').selectedIndex == 1 then
|
|
-- self:GetJoinsData()
|
|
-- end
|
|
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()
|
|
self._view = UIPackage.CreateObjectFromURL('ui://NewGroup/View_GroupMemberInvite')
|
|
|
|
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
|