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 dffcca5b..f2125834 100644 --- a/lua_probject/base_project/Game/View/NewGroup/MngView/GroupMngPartnerStatViewAlone2.lua +++ b/lua_probject/base_project/Game/View/NewGroup/MngView/GroupMngPartnerStatViewAlone2.lua @@ -231,106 +231,117 @@ function M:RecursionGetIndex(index, lev) end end +-- comment 搜索和非搜索通用的虚拟列表渲染逻辑 +---@param index any 虚拟列表传输过来的子项索引 +---@param obj any 虚拟列表传输过来的子项 +function M:ListRenderer(index, obj) + local tempLev, tempIndex = self:RecursionGetIndex(index + 1, 1) + local dataInfo = self._data_record[tempLev][tempIndex] + local nameStr = ViewUtil.stringEllipsis(dataInfo.nick) + if dataInfo.hpall and dataInfo.hpall.total_member and (dataInfo.partnerLev ~= 0 or dataInfo.lev == 1) then + nameStr = string.format("%s(%d)", nameStr, dataInfo.hpall.total_member - 1) + end + obj:GetChild("tex_name").text = nameStr + 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 then + obj:GetController("select").selectedIndex = 1 + else + obj:GetController("select").selectedIndex = 0 + end + if tempIndex == self._selectIndexList[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() + if obj:GetController("more").selectedIndex == 0 then + self:ChangedClear(tempLev) + ViewUtil:ShowModalWait() + if tempLev == 1 then + self._selectedLev = 1 + self._selectIndex = tempIndex + self._selectIndexList[self._selectedLev] = self._selectIndex + self:LevGetRecordData(0, dataInfo, + self.GetNumberRecordForLev1(self, 0, { lev = tempLev, index = tempIndex })) + else + self._selectedLev = tempLev + self._selectIndex = tempIndex + self._selectIndexList[self._selectedLev] = self._selectIndex + self:GetAllRecordData(0, { lev = tempLev, index = tempIndex }, + self.GetNumberRecord(self, 0, { lev = tempLev, index = tempIndex })) + end + else + self:ChangedClear(tempIndex + 1) + self._selectedLev = tempLev + self._selectIndex = tempIndex + self._selectIndexList[self._selectedLev] = self._selectIndex + 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) +end + -- comment 初始化初始list 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, tempIndex = self:RecursionGetIndex(index + 1, 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 then - obj:GetController("select").selectedIndex = 1 - else - obj:GetController("select").selectedIndex = 0 - end - if tempIndex == self._selectIndexList[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() - if obj:GetController("more").selectedIndex == 0 then - self:ChangedClear(tempLev) - ViewUtil:ShowModalWait() - if tempLev == 1 then - self._selectedLev = 1 - self._selectIndex = tempIndex - self._selectIndexList[self._selectedLev] = self._selectIndex - self:LevGetRecordData(0, dataInfo, - self.GetNumberRecordForLev1(self, 0, { lev = tempLev, index = tempIndex })) - else - self._selectedLev = tempLev - self._selectIndex = tempIndex - self._selectIndexList[self._selectedLev] = self._selectIndex - self:GetAllRecordData(0, { lev = tempLev, index = tempIndex }, - self.GetNumberRecord(self, 0, { lev = tempLev, index = tempIndex })) - end - else - self:ChangedClear(tempIndex + 1) - self._selectedLev = tempLev - self._selectIndex = tempIndex - self._selectIndexList[self._selectedLev] = self._selectIndex - 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:ListRenderer(index, obj) end end end @@ -341,100 +352,7 @@ function M:InitListRecordFind() self.item_result = self._view:GetChild("lst_member_find") self.item_result:SetVirtual() self.item_result.itemRenderer = function(index, obj) - local tempLev, tempIndex = self:RecursionGetIndex(index + 1, 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 then - obj:GetController("select").selectedIndex = 1 - else - obj:GetController("select").selectedIndex = 0 - end - if tempIndex == self._selectIndexList[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() - if obj:GetController("more").selectedIndex == 0 then - self:ChangedClear(tempLev) - ViewUtil:ShowModalWait() - if tempLev == 1 then - self._selectedLev = 1 - self._selectIndex = tempIndex - self._selectIndexList[self._selectedLev] = self._selectIndex - self:LevGetRecordData(0, dataInfo, - self.GetNumberRecordForLev1(self, 0, { lev = tempLev, index = tempIndex })) - else - self._selectedLev = tempLev - self._selectIndex = tempIndex - self._selectIndexList[self._selectedLev] = self._selectIndex - self:GetAllRecordData(0, { lev = tempLev, index = tempIndex }, - self.GetNumberRecord(self, 0, { lev = tempLev, index = tempIndex })) - end - else - self:ChangedClear(tempIndex + 1) - self._selectedLev = tempLev - self._selectIndex = tempIndex - self._selectIndexList[self._selectedLev] = self._selectIndex - 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:ListRenderer(index, obj) end end end @@ -452,13 +370,14 @@ function M:GetRecordData() if group.lev == 1 then ViewUtil.ShowModalWait("获取盟主数据中") self.groupumberTemp = {} + self.groupumberTemp.lev = 1 self.groupumberTemp.uid = group.owner self.groupumberTemp.nick = group.o_nick self.groupumberTemp.total_round = 0 self.groupumberTemp.valid_round = 0 self.groupumberTemp.reward_hp = 0 self.groupumberTemp.total_win = 0 - self:GetPropLog({}, 0, time_type) + self:GetPropLog(0) else self:GetFristData(fgCtr, 0, time_type) end @@ -520,6 +439,7 @@ function M:GetPropLog(index) if res.ReturnCode == 0 then self.groupumberTemp.hpall = {} self.groupumberTemp.hpall.hp = res.Data.hp_num1 + res.Data.otherHp + self.groupumberTemp.hpall.total_member = res.Data.member_num self:InsertTableRecord(1, self.groupumberTemp) self._selectedLev = 1 self._selectIndex = 1 @@ -574,7 +494,6 @@ function M:ChangedClear(lev) for i = lev + 1, #self._data_record do self._data_record[i] = nil self._selectIndexList[i] = nil - self._partnerNumList[i] = nil end end