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:CloseModalWait2() 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) local copy_numbers = {} for k, v in pairs(numbers) do copy_numbers[k] = v end table.sort(copy_numbers, function(a, b) return a.lev < b.lev end) 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 = copy_numbers[i].lev - 1 obj:GetController('ban').selectedIndex = copy_numbers[i].ban obj:GetChild('name').emojies = EmojiDitc.EmojiesDitc obj:GetChild('name').text = copy_numbers[i].nick obj:GetChild('id').text = string.format("ID:%s", copy_numbers[i].uid) obj:GetChild("remark").emojies = EmojiDitc.EmojiesDitc if copy_numbers[i].tag == "" then obj:GetChild("remark").text = "备注:无" else obj:GetChild("remark").text = "备注:" .. copy_numbers[i].tag end ImageLoad.Load(copy_numbers[i].portrait, obj:GetChild('btn_head')._iconObject) obj.onClick:Set(function() print("lingmengtextBtn_detail") ViewUtil.ShowModalWait2() fgCtr:FG_FindMember(self._group.id, copy_numbers[i].uid, function(res) ViewUtil.CloseModalWait2() 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 == #copy_numbers then self._viewList_allNumbers:RefreshVirtualList() else self._viewList_allNumbers.numItems = #copy_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:CloseModalWait2() 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