diff --git a/lua_probject/base_project/Game/View/NewGroup/GroupInfoView.lua b/lua_probject/base_project/Game/View/NewGroup/GroupInfoView.lua index 44f268ed..b2d21944 100644 --- a/lua_probject/base_project/Game/View/NewGroup/GroupInfoView.lua +++ b/lua_probject/base_project/Game/View/NewGroup/GroupInfoView.lua @@ -2122,9 +2122,9 @@ function M:__refreshManager() local btn_stat = self._view:GetChild('btn_stat') btn_stat.onClick:Set( function() - if not self.mng_view2 then - self.mng_view2 = GroupManagerView.new(self._root_view, self.curGroup.id, 2) - end + -- if not self.mng_view2 then + self.mng_view2 = GroupManagerView.new(self._root_view, self.curGroup.id, 2) + -- end -- self:SetRoomListVisible(false) self.mng_view2:Show() end @@ -2500,8 +2500,8 @@ end function M:ShowErrorJoinRoom(data) local msg = string.format("玩法:%s", data.gamePlayStr) local _curren_msg = MsgWindow.new(self._root_view, msg, MsgWindow.MsgMode.OnlyOk, nil, nil, - { titleUrl = "ui://NewGroup/wanfaxinxi" ,openClose = true,closeZone=true}) - _curren_msg._view:GetChild("btn_ok").icon = "ui://NewGroup/kaishiyouxi" + { titleUrl = "ui://NewGroup/wanfaxinxi", openClose = true, closeZone = true }) + _curren_msg._view:GetChild("btn_ok").icon = "ui://NewGroup/kaishiyouxi" _curren_msg.onOk:Add( function() self:__startGame("", data.room.pid, false) diff --git a/lua_probject/base_project/Game/View/NewGroup/GroupManagerView.lua b/lua_probject/base_project/Game/View/NewGroup/GroupManagerView.lua index 28774960..0df27176 100644 --- a/lua_probject/base_project/Game/View/NewGroup/GroupManagerView.lua +++ b/lua_probject/base_project/Game/View/NewGroup/GroupManagerView.lua @@ -11,7 +11,7 @@ function GroupManagerView.new(blur_view, gid, btn_type, callback) setmetatable(M, { __index = BaseWindow }) local self = setmetatable({}, { __index = M }) self.class = "GroupManagerView" - -- self._close_destroy = true + self._close_destroy = true self._put_map = false self._new_hide = false self._queue = false diff --git a/lua_probject/base_project/Game/View/NewGroup/MngView/GroupMngMemberHpListView.lua b/lua_probject/base_project/Game/View/NewGroup/MngView/GroupMngMemberHpListView.lua index fdec4d37..506de4b0 100644 --- a/lua_probject/base_project/Game/View/NewGroup/MngView/GroupMngMemberHpListView.lua +++ b/lua_probject/base_project/Game/View/NewGroup/MngView/GroupMngMemberHpListView.lua @@ -7,7 +7,7 @@ local GroupMemberOperateView = import('.GroupMemberOperateView') local GroupAddMemberInfoView = import('.GroupAddMemberInfoView') local GroupStatMember = import('.GroupStatMember') local GroupMngFagPackView = import('../GroupMngFagPackView') -local GroupMngPartnerStatViewAlone = import(".GroupMngPartnerStatViewAlone") +local GroupMngPartnerStatViewAlone = import(".GroupMngPartnerStatViewAlone2") local MngPermission = import('.MngPermission') @@ -353,7 +353,7 @@ function M:FillItem(obj, member, refresh, index) obj:GetChild('tex_zongchangci').text = member.parentId - -- obj:GetChild('tex_pername').text = member.parentId_nick or "" + -- obj:GetChild('tex_pername').text = member.parentId_nick or "" obj:GetChild('tex_ruhui').text = os.date('%Y/%m/%d %H:%M:%S', member.join_time) --上级 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 8ec316d4..20d54619 100644 --- a/lua_probject/base_project/Game/View/NewGroup/MngView/GroupMngPartnerStatViewAlone2.lua +++ b/lua_probject/base_project/Game/View/NewGroup/MngView/GroupMngPartnerStatViewAlone2.lua @@ -26,6 +26,9 @@ function M:initData() self.begin_time = today self.end_time = today + 86400 self._data_record = {} + self._partnerNumList = {} + self._memberNumList = {} + self._getAllPartnerList = {} self._selectedLev = 0 self:GetRecordData(0) --self:ShowPeopleNum() @@ -36,14 +39,12 @@ function M:InitView() local group = DataManager.groups:get(self.group_id) - self.lst_record = self._view:GetChild("lst_record") + self:InitListRecord() self.time_panel = TimeSettingPanel.new(self._view, self._view:GetChild("btn_date1"), self._view:GetChild("btn_date2"), -308, 0, function() self.begin_time, self.end_time = self.time_panel:GetDate() - self.lst_record:RemoveChildren(0, -1, true) - self.lst_record = nil - self.lst_record = self._view:GetChild("lst_record") + self:InitListRecord() self.record_data = {} if self._view:GetController('search').selectedIndex == 1 then ViewUtil.ShowModalWait(nil) @@ -74,14 +75,17 @@ function M:InitView() if res.ReturnCode ~= 0 then ViewUtil.ErrorTip(res.ReturnCode, '找不到成员') else - self.item_result = self._view:GetChild('lst_member_find') - self.item_result:RemoveChildren() - self:NewRecordTableFind(res.Data.members[1]) + self:ChangedClear(0) + self:InitListRecordFind() + self:InsertTableRecord(1, res.Data.members[1]) + self._selectedLev = 1 + self:GetAllRecordData(0, { lev = 1, index = 1 }) end end ) else - self:GetRecordData(0) + self:ChangedClear(0) + self:GetRecordData() end end, { showDay = group.lev < 3 and 30 or 7 }) self.begin_time, self.end_time = self.time_panel:GetDate() @@ -100,11 +104,10 @@ function M:InitView() self.begin_time = today - 86400 * ctr_page.selectedIndex self.end_time = today - 86400 * (ctr_page.selectedIndex - 1) end - self:GetRecordData(0) + self:GetRecordData() end) -- 搜索玩家 - local ctr_search = self._view:GetController('search') self._view:GetChild('btn_search').onClick:Set( function() --printlog("aaaaaaaaaa1111111111111111111111111111111111111111111111") @@ -136,10 +139,12 @@ function M:InitView() if res.ReturnCode ~= 0 then ViewUtil.ErrorTip(res.ReturnCode, '找不到成员') else - ctr_search.selectedIndex = 1 - self.item_result = self._view:GetChild('lst_member_find') - self.item_result:RemoveChildren() - self:NewRecordTableFind(res.Data.members[1]) + self.ctr_search.selectedIndex = 1 + self:ChangedClear(0) + self:InitListRecordFind() + self:InsertTableRecord(1, res.Data.members[1]) + self._selectedLev = 1 + self:GetAllRecordData(0, { lev = 1, index = 1 }) end end ) @@ -150,15 +155,13 @@ function M:InitView() btn_back.onClick:Set( function() self._view:GetChild('tex_id').text = "" - if #self.record_total_data == 0 then - self:GetRecordData(0) - end + self:ChangedClear(0) + self:GetRecordData() end ) end function M:InsertTableRecord(lev, data) - self._data_record.count = (self._data_record.count or 0) + 1 if self._data_record[lev] then table.insert(self._data_record[lev], data) else @@ -167,14 +170,259 @@ function M:InsertTableRecord(lev, data) end end -function M:InitListRecord() - if self.lst_record then - self.lst_record = self._view:GetChild("lst_record") - self.lst_record.itemRenderer = function(index, obj) +function M:GetDataRecordLevList(data) + local count = 0 + self._data_record.levList = {} + for i = 1, #self._data_record do + count = count + #self._data_record[i] + table.insert(self._data_record.levList, count) + end + self._data_record.count = count + if self.ctr_search.selectedIndex == 1 then + if self.item_result.numItems == self._data_record.count then + self.item_result:RefreshVirtualList() + else + self.item_result.numItems = self._data_record.count + end + local orderIndex = 0 + if data and data.orderIndex then + orderIndex = data.orderIndex + end + self.item_result:ScrollToView(self._selectedLev == 0 and 0 or + self._data_record.levList[self._selectedLev] - 1 + orderIndex) + else + if self.lst_record.numItems == self._data_record.count then + self.lst_record:RefreshVirtualList() + else + self.lst_record.numItems = self._data_record.count + end + local orderIndex = 0 + if data and data.orderIndex then + orderIndex = data.orderIndex + end + self.lst_record:ScrollToView(self._selectedLev == 0 and 0 or + self._data_record.levList[self._selectedLev] - 1 + orderIndex) + end +end +function M:InitListRecord() + if not self.lst_record then + self.lst_record = self._view:GetChild("lst_record") + self.lst_record:SetVirtual() + self.lst_record.itemRenderer = function(index, obj) + local tempLev = 0 + for i = 1, #self._data_record.levList do + if index < self._data_record.levList[i] then + tempLev = i + break + end + end + printlog("lingmeng InitListRecord", tempLev) + local tempIndex = index + 1 - (tempLev == 1 and 0 or self._data_record.levList[tempLev - 1]) + local dataInfo = self._data_record[tempLev][tempIndex] + obj:GetChild("tex_name").text = ViewUtil.stringEllipsis(dataInfo.nick) + obj:GetChild("tex_id").text = "ID:" .. dataInfo.uid + local tex_total_score = obj:GetChild("tex_total_score") + local ctr_show_total = obj:GetController("show_total") + if dataInfo.hpall then + tex_total_score.text = d2ad(dataInfo.hpall.hp) + ctr_show_total.selectedIndex = 1 + else + ctr_show_total.selectedIndex = 0 + end + obj:GetChild("tex_round_valid").text = d2ad((dataInfo.reward_tongji or dataInfo.reward_hp) + dataInfo + .total_win) --d2ad(data.reward_hp) --data.valid_round / 100 + obj:GetChild("tex_round_total").text = dataInfo.total_round + obj:GetChild("tex_total").text = d2ad(dataInfo.total_win) + obj:GetChild("tex_round_youxiao").text = dataInfo.valid_round / 100 + pt("lingmeng log1", obj:GetChild('tex_reward').text) + pt("lingmeng log2", dataInfo) + obj:GetChild('tex_reward').text = d2ad(dataInfo.reward_tongji or dataInfo.reward_hp) + obj:GetChild("btn_more").visible = not dataInfo.partnerLev or dataInfo.partnerLev > 0 + obj:GetController("more").onChanged:Set(function() end) + if tempLev <= self._selectedLev and tempIndex == #self._data_record[tempLev] then + obj:GetController("more").selectedIndex = 1 + else + obj:GetController("more").selectedIndex = 0 + end + obj:GetController("more").onChanged:Set(function(context) + self:MoreChanged(context, { lev = tempLev, index = tempIndex }) + end) + + local btn_check_members = obj:GetChild("btn_check_members") + btn_check_members.visible = not dataInfo.partnerLev or dataInfo.partnerLev > 0 + btn_check_members.onClick:Set(function() + ViewUtil.ShowModalWait(self._root_view) + local fgCtr = ControllerManager.GetController(NewGroupController) + if dataInfo.uid == DataManager.SelfUser.account_id then + fgCtr:FG_GetMembersCount(self.group_id, function(res) + ViewUtil.CloseModalWait() + if res.ReturnCode == 0 then + tex_total_score.text = d2ad(res.Data.hp_num1 + res.Data.otherHp) + ctr_show_total.selectedIndex = 1 + else + ViewUtil.ErrorTip(res.ReturnCode, "目标没有总线值") + end + end) + else + fgCtr:FG_GetTotalHp(self.group_id, dataInfo.uid, function(res) + ViewUtil.CloseModalWait() + if res.ReturnCode == 0 then + local hp = d2ad(res.Data.hp) + tex_total_score.text = hp + dataInfo._total_hp = hp + ctr_show_total.selectedIndex = 1 + end + end) + end + end) + + obj:GetChild('btn_super').visible = not dataInfo.partnerLev or dataInfo.partnerLev > 0 + obj:GetChild('btn_super').onClick:Set(function() + self.record_data = {} + if tempLev == 1 and not dataInfo.partnerLev and #self._data_record >= 2 then + ViewUtil.ShowModalWait("正在获取成员中") + self:GetNumberRecordForLev1(0, { lev = tempLev, index = tempIndex }) + ViewUtil.CloseModalWait() + else + self:GetNumberRecord(0, { lev = tempLev, index = tempIndex }) + 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 +function M:InitListRecordFind() + if not self.item_result then + self.item_result = self._view:GetChild("lst_member_find") + self.item_result:SetVirtual() + self.item_result.itemRenderer = function(index, obj) + local tempLev = 0 + for i = 1, #self._data_record.levList do + if index < self._data_record.levList[i] then + tempLev = i + break + end + end + printlog("lingmeng InitListRecord", tempLev) + local tempIndex = index + 1 - (tempLev == 1 and 0 or self._data_record.levList[tempLev - 1]) + local dataInfo = self._data_record[tempLev][tempIndex] + obj:GetChild("tex_name").text = ViewUtil.stringEllipsis(dataInfo.nick) + obj:GetChild("tex_id").text = "ID:" .. dataInfo.uid + local tex_total_score = obj:GetChild("tex_total_score") + local ctr_show_total = obj:GetController("show_total") + if dataInfo.hpall then + tex_total_score.text = d2ad(dataInfo.hpall.hp) + ctr_show_total.selectedIndex = 1 + else + ctr_show_total.selectedIndex = 0 + end + obj:GetChild("tex_round_valid").text = d2ad((dataInfo.reward_tongji or dataInfo.reward_hp) + dataInfo + .total_win) --d2ad(data.reward_hp) --data.valid_round / 100 + obj:GetChild("tex_round_total").text = dataInfo.total_round + obj:GetChild("tex_total").text = d2ad(dataInfo.total_win) + obj:GetChild("tex_round_youxiao").text = dataInfo.valid_round / 100 + obj:GetChild('tex_reward').text = d2ad(dataInfo.reward_tongji or dataInfo.reward_hp) + obj:GetChild("btn_more").visible = not dataInfo.partnerLev or dataInfo.partnerLev > 0 + obj:GetController("more").onChanged:Set(function() end) + if tempLev <= self._selectedLev and tempIndex == #self._data_record[tempLev] then + obj:GetController("more").selectedIndex = 1 + else + obj:GetController("more").selectedIndex = 0 + end + obj:GetController("more").onChanged:Set(function(context) + self:MoreChanged(context, { lev = tempLev, index = tempIndex }) + end) + + local btn_check_members = obj:GetChild("btn_check_members") + btn_check_members.visible = not dataInfo.partnerLev or dataInfo.partnerLev > 0 + btn_check_members.onClick:Set(function() + ViewUtil.ShowModalWait(self._root_view) + local fgCtr = ControllerManager.GetController(NewGroupController) + if dataInfo.uid == DataManager.SelfUser.account_id then + fgCtr:FG_GetMembersCount(self.group_id, function(res) + ViewUtil.CloseModalWait() + if res.ReturnCode == 0 then + tex_total_score.text = d2ad(res.Data.hp_num1 + res.Data.otherHp) + ctr_show_total.selectedIndex = 1 + else + ViewUtil.ErrorTip(res.ReturnCode, "目标没有总线值") + end + end) + else + fgCtr:FG_GetTotalHp(self.group_id, dataInfo.uid, function(res) + ViewUtil.CloseModalWait() + if res.ReturnCode == 0 then + local hp = d2ad(res.Data.hp) + tex_total_score.text = hp + dataInfo._total_hp = hp + ctr_show_total.selectedIndex = 1 + end + end) + end + end) + + obj:GetChild('btn_super').visible = not dataInfo.partnerLev or dataInfo.partnerLev > 0 + obj:GetChild('btn_super').onClick:Set(function() + self.record_data = {} + if tempLev == 1 and not dataInfo.partnerLev and #self._data_record >= 2 then + ViewUtil.ShowModalWait("正在获取成员中") + self:GetNumberRecordForLev1(0, { lev = tempLev, index = tempIndex }) + ViewUtil.CloseModalWait() + else + self:GetNumberRecord(0, { lev = tempLev, index = tempIndex }) + 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 @@ -186,9 +434,7 @@ function M:GetRecordData() if self.begin_time ~= nil and self.end_time ~= nil then time_type = 0 end - if not self.lst_record then - self.lst_record = self._view:GetChild("lst_record") - end + self:InitListRecord() local fgCtr = ControllerManager.GetController(NewGroupController) if group.lev == 1 then ViewUtil.ShowModalWait("获取盟主数据中") @@ -210,24 +456,23 @@ function M:GetFristData(fgCtr, index, time_type) ViewUtil.CloseModalWait() if res.ReturnCode == 0 then - if not self.lst_record then - self.lst_record = self._view:GetChild("lst_record") - end + self:InitListRecord() local members = res.Data.members if members and #members and #self.record_data == 0 then - local mytable = {} - local othertable = {} for i = 1, #members do if members[i].uid == DataManager.SelfUser.account_id then self.record_data[#self.record_data + 1] = members[i] - table.insert(mytable, members[i]) + self:InsertTableRecord(1, members[i]) else - table.insert(othertable, members[i]) + self:InsertTableRecord(2, members[i]) end end - self._data_record[1] = mytable - self._data_record[2] = othertable + self._getAllPartnerList[1] = true + self._partnerNumList[1] = 1 + self._partnerNumList[2] = #members + self._selectedLev = 1 + self:GetDataRecordLevList() else if index == 0 and (not members or #members == 0) then ViewUtil.ErrorTip(nil, "你不是合伙人") @@ -259,19 +504,24 @@ function M:GetPropLog(members, index, time_type) self.groupumberTemp.hpall = {} self.groupumberTemp.hpall.hp = res.Data.hp_num1 + res.Data.otherHp self.record_data[1] = self.groupumberTemp - self._data_record[1] = self.groupumberTemp + self:InsertTableRecord(1, self.groupumberTemp) fgCtr:FG_GetPartnerStat(self.group_id, index * 67, 67, time_type, self.begin_time, self.end_time, function(res) ViewUtil.CloseModalWait() if res.ReturnCode == 0 then - if not self.lst_record then - self.lst_record = self._view:GetChild("lst_record") - end + self:InitListRecord() local members = res.Data.members - if members and #members and #self.record_data == 0 then - self._data_record[2] = members + if members and #members then + for i = 1, #members do + self:InsertTableRecord(2, members[i]) + end + self._getAllPartnerList[1] = true + self._partnerNumList[1] = 1 + self._partnerNumList[2] = #members + self._selectedLev = 1 + self:GetDataRecordLevList() else if index == 0 and (not members or #members == 0) then ViewUtil.ErrorTip(nil, "你不是合伙人") @@ -402,121 +652,42 @@ function M:OnRenderRecordItem(index, obj) self:FillRecordItem(data, obj) end -function M:OnRenderRecordItemNew(obj, mainRecord, root_id) - obj:GetChild("tex_name").text = ViewUtil.stringEllipsis(mainRecord.nick) - obj:GetChild("tex_id").text = "ID:" .. mainRecord.uid - local tex_total_score = obj:GetChild("tex_total_score") - local ctr_show_total = obj:GetController("show_total") - if mainRecord.hpall then - tex_total_score.text = d2ad(mainRecord.hpall.hp) - ctr_show_total.selectedIndex = 1 - else - ctr_show_total.selectedIndex = 0 - end - obj:GetChild("tex_round_valid").text = d2ad((mainRecord.reward_tongji or mainRecord.reward_hp) + mainRecord - .total_win) --d2ad(data.reward_hp) --data.valid_round / 100 - obj:GetChild("tex_round_total").text = mainRecord.total_round - obj:GetChild("tex_total").text = d2ad(mainRecord.total_win) - obj:GetChild("tex_round_youxiao").text = mainRecord.valid_round / 100 - obj:GetChild('tex_reward').text = d2ad(mainRecord.reward_tongji or mainRecord.reward_hp) - obj:GetChild("btn_more").visible = not mainRecord.partnerLev or mainRecord.partnerLev > 0 - obj:GetController("more").onChanged:Set(function() end) - obj:GetController("more").selectedIndex = 0 - obj:GetController("more").onChanged:Set(function(context) - self:MoreChanged(context, mainRecord.uid, obj) - end) - - local btn_check_members = obj:GetChild("btn_check_members") - btn_check_members.visible = not mainRecord.partnerLev or mainRecord.partnerLev > 0 - btn_check_members.onClick:Set(function() - ViewUtil.ShowModalWait(self._root_view) - local fgCtr = ControllerManager.GetController(NewGroupController) - if mainRecord.uid == DataManager.SelfUser.account_id then - fgCtr:FG_GetMembersCount(self.group_id, function(res) - ViewUtil.CloseModalWait() - if res.ReturnCode == 0 then - tex_total_score.text = d2ad(res.Data.hp_num1 + res.Data.otherHp) - ctr_show_total.selectedIndex = 1 - else - ViewUtil.ErrorTip(res.ReturnCode, "目标没有总线值") - end - end) - else - fgCtr:FG_GetTotalHp(self.group_id, mainRecord.uid, function(res) - ViewUtil.CloseModalWait() - if res.ReturnCode == 0 then - local hp = d2ad(res.Data.hp) - tex_total_score.text = hp - mainRecord._total_hp = hp - -- mainRecord.total = res.Data.total_member - 1 - -- obj:GetChild("tex_name").text = data.nick .. "(" .. data.total .. ")" - ctr_show_total.selectedIndex = 1 - end - end) - end - end) - - obj:GetChild('btn_super').visible = not mainRecord.partnerLev or mainRecord.partnerLev > 0 - obj:GetChild('btn_super').onClick:Set(function() - self.record_data = {} - if not root_id and not mainRecord.partnerLev then - ViewUtil.ShowModalWait("正在获取成员中") - self:RecursionGetNumberRecordForLev1(0, mainRecord.uid, {}) - ViewUtil.CloseModalWait() - else - self:RecursionGetNumberRecord(mainRecord.uid, root_id or mainRecord.uid, 0) - end - end) -end - -function M:MoreChanged(context, id, obj) +function M:MoreChanged(context, data) print("lingmeng MoreChanged", context.sender.selectedIndex) - local fgCtr = ControllerManager.GetController(NewGroupController) - local time_type = self._view:GetController("type").selectedIndex - if self.begin_time ~= nil and self.end_time ~= nil then - time_type = 0 - end - local show_total_table = self.ctr_search.selectedIndex == 0 and self.record_total_data or - self.record_total_data_Find - self.lastY = self.lst_record.scrollPane.posY if context.sender.selectedIndex == 1 then self.record_data = {} - local myInfo = show_total_table[id] - pt(myInfo, id, self.group_id) + local myInfo = self._data_record[data.lev][data.index] if myInfo then + self:ChangedClear(data.lev) ViewUtil:ShowModalWait() - if myInfo.lev == 1 or not myInfo.father then - self:RecursionGetRecordData(0, 0, id) + if data.lev == 1 then + self._selectedLev = 1 + self:LevGetRecordData(0, myInfo) else - -- if myInfo.father == nil then - -- fgCtr:FG_GetPartnerStat(self.group_id, 0, 6, time_type, self.begin_time, self.end_time, function(res) - -- ViewUtil.CloseModalWait() - - -- if res.ReturnCode == 0 then - -- local members = res.Data.members - -- for i = 1, #members do - -- self.record_data[#self.record_data + 1] = members[i] - -- end - -- self:RecursionGetRecordData(6, 1, id) - -- end - -- end) - -- else - show_total_table[myInfo.father].list:SetChildIndex(obj, show_total_table[myInfo.father].childCount - 1) - self:RecursionGetAllRecordData(0, id, myInfo.father) - -- end + self._selectedLev = data.lev + self:GetAllRecordData(0, data) end else ViewUtil.ErrorTip(nil, "统计页面失效,请重新打开") end else - local info = show_total_table[id] - info.list:RemoveChildrenToPool() - self:RecursionChangeHeight(id, -info.childCount) + self:ChangedClear(data.lev) + self._selectedLev = data.lev - 1 + self:GetDataRecordLevList() end end -function M:RecursionGetNumberRecordForLev1(index, id, tempTable) +function M:ChangedClear(lev) + for i = lev + 1, #self._data_record do + self._data_record[i] = nil + self._partnerNumList[i] = nil + self._getAllPartnerList[i] = nil + self._memberNumList[i] = nil + end +end + +function M:GetNumberRecordForLev1(index, data) local time_type = self._view:GetController("type").selectedIndex if self.begin_time ~= nil and self.end_time ~= nil then time_type = 0 @@ -525,7 +696,7 @@ function M:RecursionGetNumberRecordForLev1(index, id, tempTable) local fgCtr = ControllerManager.GetController(NewGroupController) fgCtr:FG_GroupMembers12( self.group_id, - index * 67, + index, 67, 1, 2, @@ -536,22 +707,25 @@ function M:RecursionGetNumberRecordForLev1(index, id, tempTable) local numbers = res.Data.members if #numbers == 0 then - local one = {} - if #tempTable > 0 then - one = table.remove(tempTable) - end - if one ~= nil then - self:RecursionGetNumberRecordByLev1(tempTable, one.uid, id) - else - ViewUtil.ShowModalWait("没有下级成员") - end + ViewUtil.ErrorTip(-1, "已获取全部成员") else + self:ChangedClear(3) + local lastIndex = 0 + if self._data_record[2] then + lastIndex = #self._data_record[2] + end for i = 1, #numbers do if numbers[i].lev ~= 1 and numbers[i].partnerLev == 0 then - table.insert(tempTable, numbers[i]) + self:InsertTableRecord(2, numbers[i]) end end - self:RecursionGetNumberRecordForLev1(index + 1, id, tempTable) + if not self._memberNumList[data.lev + 1] or self._memberNumList[data.lev + 1] == 0 then + self._memberNumList[data.lev + 1] = #numbers + else + self._memberNumList[data.lev + 1] = self._memberNumList[data.lev + 1] + #numbers + end + self._selectedLev = 1 + self:GetDataRecordLevList({ orderIndex = lastIndex }) end end end @@ -584,98 +758,156 @@ function M:RecursionGetNumberRecordByLev1(tempTable, id, root_id) end) end -function M:RecursionGetNumberRecord(id, root_id, index) +function M:GetNumberRecord(index, data) ViewUtil.ShowModalWait("正在获取成员中") local time_type = self._view:GetController("type").selectedIndex if self.begin_time ~= nil and self.end_time ~= nil then time_type = 0 end - + local myInfo = self._data_record[data.lev][data.index] + local fatherInfo + if self.ctr_search.selectedIndex == 1 then + fatherInfo = {} + fatherInfo.uid = DataManager.SelfUser.account_id + else + fatherInfo = self._data_record[data.lev][data.index] + if data.lev > 1 then + fatherInfo = self._data_record[data.lev - 1][#self._data_record[data.lev - 1]] + end + end local fgCtr = ControllerManager.GetController(NewGroupController) - fgCtr:FG_GetDirectMemberStat(self.group_id, id, root_id, index * 67, 67, + fgCtr:FG_GetDirectMemberStat(self.group_id, myInfo.uid, fatherInfo.uid, index, 67, time_type, self.begin_time, self.end_time, function(res) ViewUtil.CloseModalWait() if res.ReturnCode == 0 then local members = res.Data.members - pt(members) if #members > 0 then + local temp = self._data_record[data.lev][#self._data_record[data.lev]] + local lastIndex = 0 + if temp.uid ~= myInfo.uid then + self:ChangedClear(data.lev) + self._data_record[data.lev][#self._data_record[data.lev]] = myInfo + self._data_record[data.lev][data.index] = temp + else + self:ChangedClear(data.lev + 1) + lastIndex = #self._data_record[data.lev + 1] + end for i = 1, #members do if members[i].partnerLev and members[i].partnerLev == 0 then - self.record_data[#self.record_data + 1] = members[i] + self:InsertTableRecord(data.lev + 1, members[i]) end end - self:RecursionGetNumberRecord(id, root_id, index + 1) + if not self._memberNumList[data.lev + 1] or self._memberNumList[data.lev + 1] == 0 then + self._memberNumList[data.lev + 1] = #members + else + self._memberNumList[data.lev + 1] = self._memberNumList[data.lev + 1] + #members + end + self._selectedLev = data.lev + self:GetDataRecordLevList({ orderIndex = lastIndex }) else - self:NewRecordTableChildQian(self.record_data, 0, id) - -- self.lst_record.numItems = #self.record_data - ViewUtil.CloseModalWait() + ViewUtil.ErrorTip(-1, "已获取全部成员") end end end) end -function M:RecursionGetRecordData(index, isMe, fatherId) +function M:LevGetRecordData(index, data) local time_type = self._view:GetController("type").selectedIndex if self.begin_time ~= nil and self.end_time ~= nil then time_type = 0 end local fgCtr = ControllerManager.GetController(NewGroupController) - fgCtr:FG_GetPartnerStat(self.group_id, index * 67, 67, time_type, self.begin_time, self.end_time, function(res) + fgCtr:FG_GetPartnerStat(self.group_id, index, 67, time_type, self.begin_time, self.end_time, function(res) + ViewUtil.CloseModalWait() if res.ReturnCode == 0 then local members = res.Data.members if #members > 0 then + local lastIndex = 0 + if self._data_record[2] then + lastIndex = #self._data_record[2] + end + local haveMy = false for i = 1, #members do - if members[i].uid ~= DataManager.SelfUser.account_id then - self.record_data[#self.record_data + 1] = members[i] + if data.uid ~= members[i].uid then + self:InsertTableRecord(2, members[i]) + else + haveMy = true end end - self:RecursionGetRecordData(index + 1, isMe, fatherId) + self._getAllPartnerList[1] = true + self._partnerNumList[1] = 1 + self._partnerNumList[2] = #members - (haveMy and 0 or 1) + self._selectedLev = 1 + self:GetDataRecordLevList({ orderIndex = lastIndex }) else - self:NewRecordTableChildHou(self.record_data, isMe, fatherId) - -- self.lst_record.numItems = #self.record_data - ViewUtil.CloseModalWait() + self._getAllPartnerList[2] = true + ViewUtil.ErrorTip(-1, "已获取全部代理成员") end else - ViewUtil.CloseModalWait() - ViewUtil:ErrorTip(res.ReturnCode, "获取下级合伙人失败") + ViewUtil.ErrorTip(res.ReturnCode, "获取下级合伙人失败") return end end) end -function M:RecursionGetAllRecordData(index, id, root_id) +function M:GetAllRecordData(index, data) ViewUtil.ShowModalWait() local time_type = self._view:GetController("type").selectedIndex if self.begin_time ~= nil and self.end_time ~= nil then time_type = 0 end - + local myInfo = self._data_record[data.lev][data.index] + local fatherInfo + if self.ctr_search.selectedIndex == 1 then + fatherInfo = {} + fatherInfo.uid = DataManager.SelfUser.account_id + else + fatherInfo = self._data_record[data.lev - 1][#self._data_record[data.lev - 1]] + end local fgCtr = ControllerManager.GetController(NewGroupController) - fgCtr:FG_GetPartnerStatMember(self.group_id, id, root_id, index * 67, 67, + fgCtr:FG_GetPartnerStatMember(self.group_id, myInfo.uid, fatherInfo.uid, index, 67, time_type, self.begin_time, self.end_time, function(res) ViewUtil.CloseModalWait() if res.ReturnCode == 0 then local members = res.Data.members - pt(members) if #members > 0 then + local lastIndex = 0 + if self._data_record[data.lev + 1] then + lastIndex = #self._data_record[data.lev + 1] + end + for i = data.index + 1, #self._data_record[data.lev] do + self._data_record[data.lev][i - 1] = self._data_record[data.lev][i] + end + self._data_record[data.lev][#self._data_record[data.lev]] = myInfo + local haveMy = false for i = 1, #members do - if members[i].uid ~= id then - self.record_data[#self.record_data + 1] = members[i] + if members[i].uid ~= myInfo.uid then + self:InsertTableRecord(self._selectedLev + 1, members[i]) + else + haveMy = true end end - self:RecursionGetAllRecordData(index + 1, id, root_id) + if not self._partnerNumList[self._selectedLev + 1] or self._partnerNumList[self._selectedLev + 1] == 0 then + self._partnerNumList[self._selectedLev + 1] = #members - (haveMy and 0 or 1) + else + self._partnerNumList[self._selectedLev + 1] = self._partnerNumList[self._selectedLev + 1] + + #members - (haveMy and 0 or 1) + end + if not self._data_record[self._selectedLev + 1] or #self._data_record[self._selectedLev + 1] == 0 then + self._getAllPartnerList[self._selectedLev + 1] = true + end + self._selectedLev = data.lev + self:GetDataRecordLevList({ orderIndex = lastIndex }) else - self:NewRecordTableChildHou(self.record_data, 0, id) - -- self.lst_record.numItems = #self.record_data - ViewUtil.CloseModalWait() + self._getAllPartnerList[self._selectedLev + 1] = true + ViewUtil.ErrorTip(-1, "已获取全部代理成员") end else - ViewUtil.CloseModalWait() ViewUtil:ErrorTip(res.ReturnCode, "获取下级合伙人失败") return end diff --git a/wb_new_ui/.objs/workspace.json b/wb_new_ui/.objs/workspace.json index 85d23c98..82a702d3 100644 --- a/wb_new_ui/.objs/workspace.json +++ b/wb_new_ui/.objs/workspace.json @@ -1,5 +1,5 @@ { - "libview.firstColumnWidth": 338, + "libview.firstColumnWidth": 522, "libview.iconScale": 0, "doc.openedDocs": [ "ui://m7iejg46ilon7ias", diff --git a/wb_unity_pro/Assets/Scripts/VerCheck.cs b/wb_unity_pro/Assets/Scripts/VerCheck.cs index a69b2745..3b4d3be7 100644 --- a/wb_unity_pro/Assets/Scripts/VerCheck.cs +++ b/wb_unity_pro/Assets/Scripts/VerCheck.cs @@ -91,7 +91,7 @@ public class VerCheck : MonoBehaviour //公用 - string init_url = "http://8.138.120.167:19898/NewFK/config/init2_1.json"; + string init_url = "http://8.148.219.235:19898/NewFK/config/init2_1.json";