changhong/lua_probject/base_project/Game/View/NewGroup/MngView/GroupPartnerStatPlay.lua

108 lines
3.5 KiB
Lua
Raw Normal View History

2025-05-24 14:29:14 +08:00
local GroupPartnerStatPlay = {}
local M = GroupPartnerStatPlay
function GroupPartnerStatPlay.new(group_id, uid, partner_lev, parent_id, time_type, begin_time, end_time)
setmetatable(M, {__index = BaseWindow})
local self = setmetatable({}, {__index = M})
self.class = "GroupPartnerStatPlay"
self._close_destroy = true
self.group_id = group_id
self.uid = uid
self.partner_lev = partner_lev
self.parent_id = parent_id
self.time_type = time_type
self.begin_time = begin_time
self.end_time = end_time
self:init("ui://NewGroup/Win_PartnerStatPlay")
return self
end
function M:init(url)
BaseWindow.init(self,url)
self.members_log = {}
self.lst_member = self._view:GetChild("lst_member")
self.lst_member:SetVirtual()
self.lst_member.itemRenderer = function(index, obj)
self:OnRenderItem(index, obj)
end
self.rewards_data = {}
self:getPartnerRewards(function()
self:getRewardsLog(0)
end)
end
function M:getPartnerRewards(callback)
local fgCtr = ControllerManager.GetController(NewGroupController)
fgCtr:FG_GetRewards(self.group_id, self.uid, self.partner_lev, function(res)
ViewUtil.CloseModalWait()
if self._is_destroy then
return
end
if res.ReturnCode ~= 0 then
ViewUtil.ErrorTip(res.ReturnCode, "获取合伙人奖励失败")
else
local rewards = res.Data.rewards
local rdata = self.rewards_data
for i = 1, #rewards do
rdata[#rdata + 1] = rewards[i]
end
end
callback()
end)
end
function M:getRewardsLog(index)
local fgCtr = ControllerManager.GetController(NewGroupController)
fgCtr:FG_GetPartnerStatPlay(self.group_id,self.uid, self.parent_id, index, 6, self.time_type, self.begin_time, self.end_time, function(res)
if res.ReturnCode ~= 0 then
ViewUtil.ErrorTip(res.ReturnCode, "获取数据失败")
else
local member_logs = res.Data.members
if #member_logs > 0 then
for i = 1, #member_logs do
table.insert(self.members_log, member_logs[i])
end
self.lst_member.numItems = #self.members_log
end
end
end)
end
function M:OnRenderItem(index, obj)
local data = self.members_log[index + 1]
local play_name = DataManager.groups:get(self.group_id):getPlayName(data.pid)
obj:GetChild("tex_name").text = play_name
obj:GetChild("tex_round").text = ""..(data.round / 100)
obj:GetChild("tex_total_pump").text = ""..d2ad(data.pump)
obj:GetChild("tex_total").text = ""..d2ad(data.award)
for i = 1, #self.rewards_data do
local rdata = self.rewards_data[i]
if rdata.pid == data.pid then
if rdata.rewardValueType == 2 then
local cur_value = d2ad(rdata.cur_value)
local max_value = d2ad(rdata.max_value)
if self.partner_lev < 3 then
obj:GetChild("tex_percent").text = cur_value
else
obj:GetChild("tex_percent").text = string.format("%s/%s", cur_value, max_value)
end
else
if self.partner_lev < 3 then
obj:GetChild("tex_percent").text = rdata.cur_value .."%"
else
obj:GetChild("tex_percent").text = string.format("%s%%/%s%%", rdata.cur_value, rdata.max_value)
end
end
end
end
end
return M