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

256 lines
8.9 KiB
Lua
Raw Normal View History

2025-05-24 14:29:14 +08:00
local GroupPartnerStatPlay = import(".GroupPartnerStatPlay")
local GroupRecordView = require "Game/View/NewGroup/GroupRecordView"
local GroupPartnerStatMember = {}
local M = GroupPartnerStatMember
function GroupPartnerStatMember.new(group_id, uid, time_type, begin_time, end_time)
2025-06-14 05:48:35 +08:00
setmetatable(M, { __index = BaseWindow })
local self = setmetatable({}, { __index = M })
2025-05-24 14:29:14 +08:00
self.class = "GroupPartnerStatMember"
self._close_destroy = true
self.group_id = group_id
self.uids = {}
self.uids[#self.uids + 1] = uid
self.top = #self.uids
self.time_type = time_type
self.begin_time = begin_time
self.end_time = end_time
self.check_member = false -- true的话是查询直属成员统计
self._full = true
2025-06-14 05:48:35 +08:00
2025-05-24 14:29:14 +08:00
self:init("ui://NewGroup/Win_PartnerStatMember")
return self
end
function M:init(url)
2025-06-14 05:48:35 +08:00
BaseWindow.init(self, url)
2025-05-24 14:29:14 +08:00
self.members_log = {}
self.lst_member = self._view:GetChild("lst_member")
2025-06-14 05:48:35 +08:00
self.lst_member:SetVirtual()
2025-05-24 14:29:14 +08:00
self.lst_member.itemRenderer = function(index, obj)
self:OnRenderItem(index, obj)
2025-06-14 05:48:35 +08:00
end
2025-05-24 14:29:14 +08:00
self.lst_member.scrollPane.onPullUpRelease:Set(function()
self:getRewardsLog(self.lst_member.numItems)
end)
self:getRewardsLog(0)
self._view:GetChild("btn_back").onClick:Set(function()
--printlog("aaaaaaaaaaaaaaa1111111111111111111")
self.check_member = false
if self.top > 1 then
self.uids[#self.uids] = nil
self.top = #self.uids
end
if self.top == 1 then
self._view:GetController("pre").selectedIndex = 0
end
self.members_log = {}
self.lst_member.numItems = 0
self:getRewardsLog(0)
end)
2025-06-14 05:48:35 +08:00
-- 搜索玩家
local ctr_search = self._view:GetController('search')
self._view:GetChild('btn_search').onClick:Set(
function()
2025-05-24 14:29:14 +08:00
-- printlog("aaaaaaaaaa1111111111111111111111111111111111111111111111")
2025-06-14 05:48:35 +08:00
ViewUtil.ShowModalWait(nil)
local text = self._view:GetChild('tex_id').text
local qid, qnick
if text == "" then
ViewUtil.CloseModalWait()
ViewUtil.ErrorTip(nil, '输入不能为空')
return
end
qid = tonumber(text) or 0
qnick = text
local time_type = 0
local fgCtr = ControllerManager.GetController(NewGroupController)
fgCtr:FG_FindPartnerStatMember(
self.group_id, self.uids[#self.uids], 0,
qid, 0, 6, time_type, self.begin_time, self.end_time,
function(res)
2025-05-24 14:29:14 +08:00
-- printlog("aaaaaaaaaaaaaaaa22222222222222222222222222222")
-- pt(res)
2025-06-14 05:48:35 +08:00
ViewUtil.CloseModalWait()
if self._is_destroy then
return
end
if res.ReturnCode ~= 0 then
ViewUtil.ErrorTip(res.ReturnCode, '找不到成员')
else
self._view:GetChild('tex_id').text = ''
ctr_search.selectedIndex = 1
local item_result = self._view:GetChild('lst_member_find')
item_result:RemoveChildrenToPool()
for j = 1, #res.Data.members do
local tem = item_result:AddItemFromPool()
self:FillRecordItem(res.Data.members[j], tem)
end
end
end
)
end
)
local btn_back1 = self._view:GetChild('btn_back1')
btn_back1.onClick:Set(
function()
end
)
2025-05-24 14:29:14 +08:00
end
function M:getRewardsLog(index)
ViewUtil.ShowModalWait()
local fgCtr = ControllerManager.GetController(NewGroupController)
local func = self.check_member and fgCtr.FG_GetDirectMemberStat or fgCtr.FG_GetPartnerStatMember
2025-06-14 05:48:35 +08:00
func(fgCtr, self.group_id, self.uids[self.top], self.uids[1], index, 6, self.time_type, self.begin_time,
self.end_time, function(res)
2025-05-24 14:29:14 +08:00
ViewUtil.CloseModalWait()
2025-06-14 05:48:35 +08:00
if res.ReturnCode ~= 0 then
2025-05-24 14:29:14 +08:00
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:SortBy(data)
-- local first = {}
-- local second = {}
-- for i=1,#data do
-- if list_check(self.uids, data.uid) and not self.check_member then
-- table.insert(first,data[i])
-- else
-- table.insert(second,data[i])
-- end
-- end
-- end
function M:OnRenderItem(index, obj)
2025-06-14 05:48:35 +08:00
local data = self.members_log[index + 1]
--pt(data)
obj:GetChild("tex_name").text = ViewUtil.stringEllipsis(data.nick)
obj:GetChild("tex_id").text = "ID:" .. data.uid
obj:GetChild("tex_score").text = d2ad(data.total_win)
obj:GetChild("tex_total_round").text = "" .. data.total_round
obj:GetChild("tex_perfect_round").text = ""
obj:GetChild("tex_valid_round").text = "" ..
d2ad(data.reward_tongji) --""..d2ad(data.reward_hp)--(data.valid_round / 100)
local tex_reward = obj:GetChild("tex_reward")
tex_reward.text = d2ad(data.reward_tongji) + d2ad(data.total_win) --d2ad(data.reward_tongji)
2025-05-24 14:29:14 +08:00
if data.partnerLev > 0 and data.uid ~= self.uids[self.top] then
obj:GetController("mng").selectedIndex = 1
elseif list_check(self.uids, data.uid) and not self.check_member then
obj:GetController("mng").selectedIndex = 2
else
obj:GetController("mng").selectedIndex = 0
end
local btn_detail = obj:GetChild("btn_detail")
btn_detail.onClick:Set(function()
self.uids[#self.uids + 1] = data.uid
self.top = #self.uids
self._view:GetController("pre").selectedIndex = 1
self.members_log = {}
self.lst_member.numItems = 0
self:getRewardsLog(0)
end)
local btn_member_detail = obj:GetChild("btn_member_detail")
btn_member_detail.onClick:Set(function()
self.uids[#self.uids + 1] = data.uid
self.top = #self.uids
self._view:GetController("pre").selectedIndex = 1
self.members_log = {}
self.lst_member.numItems = 0
self.check_member = true
self:getRewardsLog(0)
end)
local btn_zhanji = obj:GetChild("btn_zhanji")
btn_zhanji.onClick:Set(function()
2025-06-14 05:48:35 +08:00
local groupRecordView = GroupRecordView.new(self.group_id, data.uid, data.partnerLev > 0 and 1 or 0,
self.begin_time, self.end_time, self.time_type)
2025-05-24 14:29:14 +08:00
groupRecordView:Show()
end)
end
function M:FillRecordItem(data, obj)
2025-06-14 05:48:35 +08:00
--pt(data)
obj:GetChild("tex_name").text = ViewUtil.stringEllipsis(data.nick)
obj:GetChild("tex_id").text = "ID:" .. data.uid
obj:GetChild("tex_score").text = d2ad(data.total_win)
obj:GetChild("tex_total_round").text = "" .. data.total_round
obj:GetChild("tex_perfect_round").text = ""
obj:GetChild("tex_valid_round").text = "" ..
d2ad(data.reward_tongji) --""..d2ad(data.reward_hp)--(data.valid_round / 100)
local tex_reward = obj:GetChild("tex_reward")
tex_reward.text = d2ad(data.reward_tongji) + d2ad(data.total_win) --d2ad(data.reward_tongji)
2025-05-24 14:29:14 +08:00
if data.partnerLev > 0 and data.uid ~= self.uids[self.top] then
obj:GetController("mng").selectedIndex = 1
elseif list_check(self.uids, data.uid) and not self.check_member then
obj:GetController("mng").selectedIndex = 2
else
obj:GetController("mng").selectedIndex = 0
end
local btn_detail = obj:GetChild("btn_detail")
btn_detail.onClick:Set(function()
self.uids[#self.uids + 1] = data.uid
self.top = #self.uids
self._view:GetController("pre").selectedIndex = 1
self.members_log = {}
self.lst_member.numItems = 0
self:getRewardsLog(0)
end)
local btn_member_detail = obj:GetChild("btn_member_detail")
btn_member_detail.onClick:Set(function()
self.uids[#self.uids + 1] = data.uid
self.top = #self.uids
self._view:GetController("pre").selectedIndex = 1
self.members_log = {}
self.lst_member.numItems = 0
self.check_member = true
self:getRewardsLog(0)
end)
local btn_zhanji = obj:GetChild("btn_zhanji")
btn_zhanji.onClick:Set(function()
2025-06-14 05:48:35 +08:00
local groupRecordView = GroupRecordView.new(self.group_id, data.uid, data.partnerLev > 0 and 1 or 0,
self.begin_time, self.end_time, self.time_type)
2025-05-24 14:29:14 +08:00
groupRecordView:Show()
end)
end
2025-06-14 05:48:35 +08:00
return M