diff --git a/lua_probject/base_project/Game/View/NewGroup/MngView/GroupMngPartnerStatViewAlone2.lua b/lua_probject/base_project/Game/View/NewGroup/MngView/GroupMngPartnerStatViewAlone2.lua index 95a3e7ef..dffcca5b 100644 --- a/lua_probject/base_project/Game/View/NewGroup/MngView/GroupMngPartnerStatViewAlone2.lua +++ b/lua_probject/base_project/Game/View/NewGroup/MngView/GroupMngPartnerStatViewAlone2.lua @@ -16,6 +16,7 @@ function GroupMngPartnerStatViewAlone.new(gid) return self end +--初始化数据 function M:initData() self.lst_record.numItems = 0 self.ctr_search = self._view:GetController('search') @@ -25,16 +26,13 @@ function M:initData() self.begin_time = today self.end_time = today + 86400 self._data_record = {} - self._partnerNumList = {} - self._memberNumList = {} - self._getAllPartnerList = {} self._selectIndexList = {} self._selectIndex = 0 self._selectedLev = 0 self:GetRecordData(0) - --self:ShowPeopleNum() end +--初始化页面 function M:InitView() BaseWindow.init(self, "ui://NewGroup/View_GroupPartnerStatAlone") @@ -46,7 +44,6 @@ function M:InitView() -308, 0, function() self.begin_time, self.end_time = self.time_panel:GetDate() self:InitListRecord() - self.record_data = {} if self._view:GetController('search').selectedIndex == 1 then ViewUtil.ShowModalWait(nil) local text = self._view:GetChild('tex_id').text @@ -165,6 +162,9 @@ function M:InitView() ) end +---comment 根据lev等级添加数据 +---@param lev number 用户所在的等级 +---@param data table 用户信息 function M:InsertTableRecord(lev, data) if self._data_record[lev] then table.insert(self._data_record[lev], data) @@ -174,7 +174,8 @@ function M:InsertTableRecord(lev, data) end end -function M:GetDataRecordLevList(data) +-- comment 获取全部数据之后,计算相关参数,count为全部数据的数量,selectCount为点击的用户是第几个子项 +function M:GetDataRecordLevList() local count = 0 local selectCount = 0 for i = 1, #self._data_record do @@ -196,7 +197,6 @@ function M:GetDataRecordLevList(data) end self.item_result:ScrollToView(self._selectedLev == 0 and 0 or selectCount - 1) else - pt("lingmeng log ", self._data_record) if self.lst_record.numItems == self._data_record.count then self.lst_record:RefreshVirtualList() else @@ -206,6 +206,11 @@ function M:GetDataRecordLevList(data) end end +-- comment 根据展开规则,递归得到对应的数据的层级和索引,通过层级索引获得对应数据 +---@param index number 虚拟列表的子项index +---@param lev number 默认为1,表示从第一项开始递归计算,也可以在函数内设置,此处在调用时默认传1 +---@return number 返回子项在数据表中的层级 +---@return number 返回子项在数据表层级中的索引 function M:RecursionGetIndex(index, lev) if lev <= #self._selectIndexList then if self._selectIndexList[lev] == nil then @@ -226,6 +231,7 @@ function M:RecursionGetIndex(index, lev) end end +-- comment 初始化初始list function M:InitListRecord() if not self.lst_record then self.lst_record = self._view:GetChild("lst_record") @@ -326,34 +332,10 @@ function M:InitListRecord() end end) end - -- self.lst_record.scrollPane.onPullUpRelease:Set(function() - -- if self._selectedLev == 1 then - -- if self._getAllPartnerList[self._selectedLev + 1] then - -- local dataInfo = self._data_record[1][1] - -- if not dataInfo.partnerLev and #self._data_record >= 2 then - -- ViewUtil.ShowModalWait("正在获取成员中") - -- self:GetNumberRecordForLev1(self._memberNumList[2] or 0, - -- { lev = 1, index = 1 }) - -- ViewUtil.CloseModalWait() - -- else - -- self:GetNumberRecord(self._memberNumList[2] or 0, { lev = 1, index = 1 }) - -- end - -- else - -- self:LevGetRecordData(self._partnerNumList[2], self._data_record[1][1]) - -- end - -- else - -- if self._getAllPartnerList[self._selectedLev + 1] then - -- self:GetNumberRecord(self._memberNumList[self._selectedLev + 1] or 0, - -- { lev = self._selectedLev, index = #self._data_record[self._selectedLev] }) - -- else - -- self:GetAllRecordData(self._partnerNumList[self._selectedLev + 1] or 0, - -- { lev = self._selectedLev, index = #self._data_record[self._selectedLev] }) - -- end - -- end - -- end) end end +-- comment 初始化搜索list function M:InitListRecordFind() if not self.item_result then self.item_result = self._view:GetChild("lst_member_find") @@ -454,34 +436,10 @@ function M:InitListRecordFind() end end) end - -- self.item_result.scrollPane.onPullUpRelease:Set(function() - -- if self._selectedLev == 1 then - -- if self._getAllPartnerList[self._selectedLev + 1] then - -- local dataInfo = self._data_record[1][1] - -- if not dataInfo.partnerLev and #self._data_record >= 2 then - -- ViewUtil.ShowModalWait("正在获取成员中") - -- self:GetNumberRecordForLev1(self._memberNumList[2] or 0, - -- { lev = 1, index = 1 }) - -- ViewUtil.CloseModalWait() - -- else - -- self:GetNumberRecord(self._memberNumList[2] or 0, { lev = 1, index = 1 }) - -- end - -- else - -- self:LevGetRecordData(self._partnerNumList[2], self._data_record[1][1]) - -- end - -- else - -- if self._getAllPartnerList[self._selectedLev + 1] then - -- self:GetNumberRecord(self._memberNumList[self._selectedLev + 1] or 0, - -- { lev = self._selectedLev, index = #self._data_record[self._selectedLev] }) - -- else - -- self:GetAllRecordData(self._partnerNumList[self._selectedLev + 1] or 0, - -- { lev = self._selectedLev, index = #self._data_record[self._selectedLev] }) - -- end - -- end - -- end) end end +-- comment 第一次获取非搜索的数据 function M:GetRecordData() ViewUtil.ShowModalWait() local group = DataManager.groups:get(self.group_id) @@ -506,6 +464,10 @@ function M:GetRecordData() end end +-- comment 非盟主第一次获取数据 +---@param fgCtr any 亲友圈控制器 +---@param index number 递归开始下标,默认传0 +---@param time_type number 时间类型 0为拼接传过去的开始时间和结束时间去搜索 function M:GetFristData(fgCtr, index, time_type) fgCtr:FG_GetPartnerStat(self.group_id, index * 67, 67, time_type, self.begin_time, self.end_time, function(res) ViewUtil.CloseModalWait() @@ -514,10 +476,9 @@ function M:GetFristData(fgCtr, index, time_type) self:InitListRecord() local members = res.Data.members - if members and #members and #self.record_data == 0 then + if members and #members then for i = 1, #members do if members[i].uid == DataManager.SelfUser.account_id then - self.record_data[#self.record_data + 1] = members[i] self:InsertTableRecord(1, members[i]) self._selectedLev = 1 self._selectIndex = 1 @@ -538,7 +499,10 @@ function M:GetFristData(fgCtr, index, time_type) end) end -function M:GetPropLog(members, index, time_type) +-- comment 盟主第一次获取数据 +--- sp:里面包含连续两条协议调用,之后可以只用一条协议就能获取所有内容,或者和获取代理数据的协议合并 +---@param index number 递归开始下标,默认传0 +function M:GetPropLog(index) local fgCtr = ControllerManager.GetController(NewGroupController) fgCtr:FG_GetPropLog(self.group_id, index * 67, 67, self.begin_time, self.end_time, function(res) if res.ReturnCode ~= 0 then @@ -569,11 +533,11 @@ function M:GetPropLog(members, index, time_type) end) end +-- comment 点击减号触发获取数据 +---@param context any 官方传输的信息 +---@param data table 自己拼接的信息,lev为点击数据所在的层级,index为点击数据所在的索引 function M:MoreChanged(context, data) - print("lingmeng MoreChanged", context.sender.selectedIndex) if context.sender.selectedIndex == 1 then - self.record_data = {} - local myInfo = self._data_record[data.lev][data.index] if myInfo then self:ChangedClear(data.lev) @@ -601,6 +565,8 @@ function M:MoreChanged(context, data) end end +-- comment 清理指定层级一下的所有数据 +---@param lev number 指定的层级,一般是点击数据所在的层级,收缩是是点击层级的上一级 function M:ChangedClear(lev) if lev ~= 0 then self._selectIndexList[lev] = nil @@ -609,12 +575,12 @@ function M:ChangedClear(lev) self._data_record[i] = nil self._selectIndexList[i] = nil self._partnerNumList[i] = nil - self._getAllPartnerList[i] = nil - self._memberNumList[i] = nil end end -function M:GetNumberRecordForLev1(index, data) +-- comment 盟主递归获取普通成员数据 +---@param index number 递归开始下标,默认传0 +function M:GetNumberRecordForLev1(index) local time_type = self._view:GetController("type").selectedIndex if self.begin_time ~= nil and self.end_time ~= nil then time_type = 0 @@ -642,13 +608,16 @@ function M:GetNumberRecordForLev1(index, data) self:InsertTableRecord(2, numbers[i]) end end - self:GetNumberRecordForLev1(index + 1, data) + self:GetNumberRecordForLev1(index + 1) end end end ) end +-- comment 非盟主递归获取普通成员数据 +---@param index number 递归开始下标,默认传0 +---@param data table 自己拼接的信息,lev为点击数据所在的层级,index为点击数据所在的索引 function M:GetNumberRecord(index, data) ViewUtil.ShowModalWait("正在获取成员中") local time_type = self._view:GetController("type").selectedIndex @@ -688,6 +657,10 @@ function M:GetNumberRecord(index, data) end) end +-- comment 递归获取第一级代理数据 +---@param index number 递归开始下标,默认传0 +---@param data table 自己拼接的信息,lev为点击数据所在的层级,index为点击数据所在的索引 +---@param callback function 用于点击非展开数据的查看下级按钮,一般是对应递归获取普通成员的方法 function M:LevGetRecordData(index, data, callback) local time_type = self._view:GetController("type").selectedIndex if self.begin_time ~= nil and self.end_time ~= nil then @@ -723,6 +696,10 @@ function M:LevGetRecordData(index, data, callback) end) end +-- comment 递归获取指定代理下级数据 +---@param index number 递归开始下标,默认传0 +---@param data table 自己拼接的信息,lev为点击数据所在的层级,index为点击数据所在的索引 +---@param callback function 用于点击非展开数据的查看下级按钮,一般是对应递归获取普通成员的方法 function M:GetAllRecordData(index, data, callback) ViewUtil.ShowModalWait() local time_type = self._view:GetController("type").selectedIndex