hengyang_client/lua_probject/base_project/Game/View/Family/FamilyAllNumbers.lua

147 lines
5.0 KiB
Lua

local FamilyNumberDetail = import(".FamilyNumberDetail")
local FamilyInviteFamilyView = {}
local M = FamilyInviteFamilyView
function FamilyInviteFamilyView.new()
setmetatable(M, { __index = BaseView })
local self = setmetatable({}, { __index = M })
self.class = "com_numberList"
self._scale = true
BaseView.InitView(self, "ui://Family/com_numberList")
self:initBtn()
return self
end
function M:Reflash(group)
self._group = group
local numbers = self._group.members
local fgCtr = ControllerManager.GetController(NewGroupController)
if #numbers == 0 then
fgCtr:FG_GroupMembers(self._group.id, 0, self._group.total_member_num, false, 1, function(res)
numbers = self._group.members
-- print("==========================res.Data.members")
pt(self._group.members)
ViewUtil:CloseModalWait()
if res.ReturnCode ~= 0 then
ViewUtil.ErrorTip(res.ReturnCode, "获取成员列表失败")
else
self:FillList(numbers)
end
end)
else
self:FillList(numbers)
end
end
function M:Show(group)
self:Reflash(group)
local _mgr_ctr = ControllerManager.GetController(GroupMgrController)
_mgr_ctr:AddEventListener("OnRefNumberBan", handler(self, self.RefrenMemberCallback))
BaseView.Show(self)
end
function M:initBtn()
self._viewList_allNumbers = self._view:GetChild('list_number')
self._btn_numberSearch = self._view:GetChild('btn_search')
self._input_numberSearch = self._view:GetChild('input_search')
self._btn_close = self._view:GetChild("btn_close")
self._btn_numberSearch.onClick:Set(function()
local tempNumberList = {}
for i = 1, self._group.member_num do
if string.find(self._group.members[i].nick, self._input_numberSearch.text) then
table.insert(tempNumberList, self._group.members[i])
end
end
if #tempNumberList == 0 then
local guo_msg = MsgWindow.new(self._root_view, "没有找到该成员", MsgWindow.MsgMode.OnlyOk)
guo_msg:Show()
else
self:FillList(tempNumberList)
end
end)
self._btn_close.onClick:Set(function()
self:Close()
end)
end
function M:FillList(numbers)
pt("lingmeng", numbers)
local fgCtr = ControllerManager.GetController(NewGroupController)
self._viewList_allNumbers:SetVirtual()
self._viewList_allNumbers.itemRenderer = function(index, obj)
local i = index + 1
obj:GetController('lev').selectedIndex = numbers[i].lev - 1
obj:GetController('ban').selectedIndex = numbers[i].ban
obj:GetChild('name').emojies = EmojiDitc.EmojiesDitc
obj:GetChild('name').text = numbers[i].nick
obj:GetChild('id').text = string.format("ID:%s", numbers[i].uid)
obj:GetChild("remark").emojies = EmojiDitc.EmojiesDitc
if numbers[i].tag == "" then
obj:GetChild("remark").text = "备注:无"
else
obj:GetChild("remark").text = "备注:" .. numbers[i].tag
end
ImageLoad.Load(numbers[i].portrait, obj:GetChild('btn_head')._iconObject)
obj.onClick:Set(function()
print("lingmengtextBtn_detail")
fgCtr:FG_FindMember(self._group.id, numbers[i].uid, function(res)
local familyNumberDetail = FamilyNumberDetail.new(self._group.id, self._group.lev, res)
familyNumberDetail:SetTickCallback(handler(self, self.TickNumberCallback))
familyNumberDetail:SetRefrenCallback(handler(self, self.RefrenMemberCallback))
familyNumberDetail:Show()
end)
end)
end
if self._viewList_allNumbers.numItems == #numbers then
self._viewList_allNumbers:RefreshVirtualList()
else
self._viewList_allNumbers.numItems = #numbers
end
end
function M:TickNumberCallback(res)
if res.ReturnCode == 0 then
self:FillList(self._group.members)
else
ViewUtil.ErrorTip(res.ReturnCode, "删除成员失败")
end
end
function M:RefrenMemberCallback()
pt("lingmeng ccc OnRefNumberBan2", self._group.members)
local numbers = self._group.members
local fgCtr = ControllerManager.GetController(NewGroupController)
if #numbers == 0 then
fgCtr:FG_GroupMembers(self._group.id, 0, self._group.total_member_num, false, 1, function(res)
numbers = self._group.members
-- print("==========================res.Data.members")
ViewUtil:CloseModalWait()
if res.ReturnCode ~= 0 then
ViewUtil.ErrorTip(res.ReturnCode, "获取成员列表失败")
else
pt("lingmeng ccc OnRefNumberBan3", numbers)
self:FillList(numbers)
end
end)
else
self:FillList(numbers)
end
end
function M:Destroy()
local _mgr_ctr = ControllerManager.GetController(GroupMgrController)
_mgr_ctr:RemoveListener("OnRefNumberBan")
BaseView.Destroy(self)
end
return M